Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - Wadk

31
A ver. sprite_index es una variable que todos los objetos tienen, y que se puede definir mediante código, o directamente en el editor de objetos. Los objetos de GM por defecto, cuando no se les da nada que hacer en el evento draw, dibujan el sprite determinado por su variable sprite_index en la posición determinada por sus variables x e y (tomando en cuenta también otras variables como image_index, entre otras).
Si querés que un objeto dibuje dos o más sprites, no vas a poder hacerlo con sprite_index. Lo que podés hacer es colocar código en el evento draw para dibujar ambos sprites:
[gml]draw_sprite(primerSprite, 0, x, y);
draw_sprite(segundoSprite, 0, x, y);[/gml]
(Lo que se dibuja después siempre aparece encima de lo que se dibuja antes.)

Pero en este caso me parece que te va a ser mejor usar dos objetos como dijo penumbra.
Supongo que querés que se pueda hacer click en varios objetos para seleccionar uno. Podés hacer lo siguiente.
Primero creá un objeto y ponele de nombre objSelector. Asignale el sprite de la X y en el evento create, ponele el siguiente código:
[gml]selection = noone;[/gml]
Y en step:
[gml]if (selection == noone) {
    visible = false;
} else {
    x = selection.x;
    y = selection.y;
    visible = true;
}[/gml]
Después creá otro objeto y ponele de nombre objSelectionable. En el evento Mouse>Left Pressed, poné el siguiente código:
[gml]objSelector.selection = id;[/gml]
Luego, para cada objeto que quieras que sea selecionable, fijate donde dice Parent y elejí el objeto objSelectionable.
Por último colocá una instancia del objeto objSelector en la room junto con los objetos seleccionables, y listo, eso debería bastar.
32
No veo cuál es el problema, ni tampoco veo la razón para usar herencia.
Lo que yo haría sería crear un único objeto que represente un hueco y colocar 8 instancias en el room. Cada instancia es independiente de las demás, y puede estar creciendo su propia planta en su propio estado y a su propia velocidad.
33
Podrías usar Tiled: http://www.mapeditor.org/
Para cargar los archivos que Tiled genera tendrías que programar tu propia solución (los archivos generados son xml con datos en base64 si no recuerdo mal), o buscar una forma ya existente. En google salen algunos resultados: https://www.google.com/search?q=gm+tiled
También podrías usar GMare, que está hecho específicamente para GM, y creo que brinda la posibilidad de exportar niveles para ser importados en tiempo de ejecución: http://gmare.codeplex.com/
34
Hola uSources. Perdón por la respuesta tardía.

Cita de: uSources en Julio 04, 2013, 04:23:34 PMLa idea de los post en los puntos en los juegos ya desarrollados me parece genial, pero un sistema de logros los que fomente la publicacion de mensajes , aportaciones , y abrir nuevos temas de conversión me parecería asombroso.Podrían incluirse no como logros sino como medallas estilo :"Medalla por tu 5 post" , "Medalla por ganar tus 100 puntos" etc..
Ese tipo de cosas no se implementan porque se cree que provocaría que los usuarios posteen sólo para ganar puntos o medallas en vez de aportar posts con utilidad.

Cita de: uSources en Julio 04, 2013, 04:23:34 PMPodrías añadir un sistema de comunidades el cual fomentaria la actividad del foro, y para los usuarios podéis utilizarlo como intercambio para vuestros proyectos o simplemente comunidades de vuestras empresas para compartir ideas y que solo puedan leerlas los miembros de dichas empresas.
Hubo una vez un sistema como el que proponés, allá por el 2008 si no recuerdo mal. No recuerdo bien el nombre, pero creo que era "GM Forge" o algo así.
Pero bueno, en ese momento había bastante más actividad que ahora y aún así se terminó descartando, aunque sinceramente no sé bien por qué.

Cita de: uSources en Julio 04, 2013, 04:23:34 PMAprovechando el sistema de puntos, podéis hacer un "top de juegos" poniéndolos en una lista de mas jugados (los cinco primeros o así ) o u  top para "random" el cual mostrará juegos aleatorios así dando a conocer juegos que quizás tengan futuro pero se han perdido en alguna pagina de esa sección.
La Sección de Juegos Online parece ser lo que buscás.

Cita de: uSources en Julio 04, 2013, 04:23:34 PMNo vendrían mal algún concurso que otro " no necesaria mente con premio " , podrías poner una marquesina con los ganadores de ese concurso.
Para que haya un concurso, alguien tiene que organizarlo :P. En el staff hay gente interesada también así que podría surgir uno, calculo que en unos meses.
35
Lo que estás pidiendo es, si no me equivoco, una forma de convertir un juego en GM a Java. En teoría es posible, pero requeriría una enormidad de trabajo y esfuerzo. Sería más fácil volver a hacer el juego en Java desde 0.
36
Se me ocurre que podrías probar usar IKVM para "convertir" el jar en una dll, la cual podrías usar directamente con GM.
El problema es que debe ser bastante complicado de hacer, y aunque lo logres dudo mucho que vaya a funcionar como esperás. Sería un experimento más que nada.
37
Preguntas y respuestas / Re:juego de horror= gore?
Junio 19, 2013, 12:42:26 PM
MRafX no te olvides del ícono del mensaje. Esta vez lo puse yo porque sé que conocés la regla y se ve que es una pregunta general, pero no te olvides en el futuro.

En cuanto a tu pregunta, el gore por sí solo no creo que te sirva para dar miedo, pero si lo usás bien puede ayudar a inquietar al jugador y dejarlo más vulnerable al miedo.
Más importante me parece proponer una situación con la que el jugador se pueda sentir identificado y darle solamente un poco de información y dejar que su propia imaginación haga el resto.
Te dejo un artículo (en inglés) que está bastante interesante y te podría servir mucho: http://frictionalgames.blogspot.com/2012/04/10-ways-to-evolve-horror-games.html
38
Preguntas y respuestas / Re:Buscar servidores
Junio 13, 2013, 05:30:42 PM
romon, no te olvides del ícono.
39
Jangse: ponele el ícono adecuado según las reglas al mensaje: http://www.comunidadgm.org/index.php?topic=18.0

Los demás: no respondan a temas que incumplan las reglas.
40
Hacelo con código.
[gml]var speed_;
speed_ = 5;
x += (keyboard_check(vk_right) - keyboard_check(vk_left)) * speed_;
y += (keyboard_check(vk_down) - keyboard_check(vk_up)) * speed_;[/gml]
41
¿Cómo que "pasar"? Si te referís a transferir la licencia, no se puede.
42
No termino de entender lo que estás intentando, pero me parece que lo que necesitás es simplemente poner:
[gml]depth = -x;[/gml]
en step del personaje y la casa.
43
No. La depth indica el orden en que se ejecutan los eventos draw. Cambiar la depth dentro del evento draw no hace absolutamente nada hasta la próxima vez que se ejecute.
Lo más parecido que podés hacer es dibujar lo que va abajo primero y lo que va arriba después, y se dibujaría correctamente pero siempre con el mismo valor de depth.
44
Desarrollo de Scripts / Re:Random Gaussiano
Junio 08, 2013, 10:59:24 AM
No, no es una variable local de la función. Así sería en casi cualquier otro lenguaje de programación, pero GM no funciona así :/. La i del for lo mismo.
Simplemente cambiarle el nombre a la variable tampoco sería una solucion adecuada, en realidad, porque todavía podría pasar que un objeto con una variable con ese nombre ejecute el script (y lo mismo podría pasar con la variable "h").
La forma correcta de solucionar el problema es la siguiente:
[gml]var h, x;[/gml]
Esto declara a "h" y a "x" como variables locales y específicas del script.
45
Podés hacer lo siguiente. Primero un script room_connect:
[gml]global.room_up = argument0;
global.room_left = argument1;
global.room_right = argument2;
global.room_down = argument3;[/gml]
Después en el creation code de cada room:
[gml]room_connect(room_arriba, room_izquierda, room_derecha, room_abajo);[/gml]
reemplazando con los nombres de las rooms correspondientes (y podés usar noone para las direcciones en las que no haya ninguna room).
Finalmente, marcá al personaje como persistente y ponele en el evento outisde room:
[gml]if (x < 0) {
    room_goto(global.room_left);
    x = room_width - 1;
} else if (x >= room_width) {
    room_goto(global.room_right);
    x = 1;
} else if (y < 0) {
    room_goto(global.room_up);
    y = room_height - 1;
} else if (y >= room_height) {
    room_goto(global.room_down);
    y = 1;
}[/gml]

Puede que no funcione perfectamente de primera pero ya deberías poder ver la idea más o menos. Tené cuidado porque como el personaje es persistente lo tenés que eliminar manualmente si te vas a una room donde no querés que esté.
También se podría hacer mejor con estructuras de datos para evitar redundancias y discrepancias, pero así es más simple.