Buenas, otra vez ando por aqui.

Bueno, estoy con mi second game, el caso, es que quiero hacer que en un cierto momento, un objeto tiemble, es decir, que haga unos pequeños movimientos de izquierda-derecha, asi como si de un temblor se tratase.

La verdad es que no se como lograr este efecto, si alguien por aqui ha realizado algo semejante alguna vez que me comente que es lo que hizo.

Un saludo a todos y Feliz Año, ejejeje. ;D ;D
PCNONOGames  www.pcnono.es


Yo hace poco para un juego hice algo similar, pero era para un temblor en toda la pantalla, éste es el código:

Create:
[gml]move = 20;[/gml]

Step:
[gml]
if (move > 0) {
   view_angle[0] = -move+(2*random(move));
   move -= .5;
}[/gml]

Para aplicarlo a un objeto simplemente tendrías que cambiar el view_angle por image_angle quedando así:

Step:
[gml]
if (move > 0) {
   image_angle = -move+(2*random(move));
   move -= .5;
}[/gml]

Muchas gracias, en cuanto tenga tiempo de probarlo os cuento.

Feliz años!!! ;D
PCNONOGames  www.pcnono.es

Bueno, he probado el codigo y esto no me funciona, en teoria parece que lo hago todo bien.

No se que es lo que pasa.  :'(
PCNONOGames  www.pcnono.es

El código funciona a la perfección, no se donde o como lo estás aplicando pero de seguro es que comprobás cierta acción, te dejo un ejemplo que hice donde se ejecuta en una alarma:

https://www.dropbox.com/s/zegij014a1hubiq/temblar.gmz?dl=0

Si lo ejecutaras directamente en el evento Step habría que comprobar ciertas condiciones, por ejemplo, si se presiona la barra espaciadora que una variable se ponga en TRUE, si esa variable es TRUE se ejecuta el código quedando algo así:

Create:
[gml]move = 20;
canMove = false;[/gml]

Step:
[gml]
if (keyboard_check_pressed(vk_space)) {
   if (!canMove) canMove = true; //Si canMove es FALSE lo volvemos TRUE.
}
if (canMove) { //Si canMove es TRUE (por haber presionado la barra espaciadora o cualquier otra acción)...
   if (move > 0) { //Si move es mayor que 0...
      image_angle = -move+(2*random(move)); //Alteramos el ángulo de la imagen con -move más un número aleatorio de move por 2.
      move -= .5; //Por cada paso restamos 0.5 de move.
   } else { //Si move es menor o igual a cero...
     canMove = false; //Ponemos canMove en false.
     move = 20; //Y volvemos a poner a move en 20 para que se pueda volver a hacer la acción de temblor.
   }
}
[/gml]

Cita de: Iros en Enero 04, 2015, 05:35:27 PM
El código funciona a la perfección, no se donde o como lo estás aplicando pero de seguro es que comprobás cierta acción, te dejo un ejemplo que hice donde se ejecuta en una alarma:

https://www.dropbox.com/s/zegij014a1hubiq/temblar.gmz?dl=0

Si lo ejecutaras directamente en el evento Step habría que comprobar ciertas condiciones, por ejemplo, si se presiona la barra espaciadora que una variable se ponga en TRUE, si esa variable es TRUE se ejecuta el código quedando algo así:

Create:
[gml]move = 20;
canMove = false;[/gml]

Step:
[gml]
if (keyboard_check_pressed(vk_space)) {
   if (!canMove) canMove = true; //Si canMove es FALSE lo volvemos TRUE.
}
if (canMove) { //Si canMove es TRUE (por haber presionado la barra espaciadora o cualquier otra acción)...
   if (move > 0) { //Si move es mayor que 0...
      image_angle = -move+(2*random(move)); //Alteramos el ángulo de la imagen con -move más un número aleatorio de move por 2.
      move -= .5; //Por cada paso restamos 0.5 de move.
   } else { //Si move es menor o igual a cero...
     canMove = false; //Ponemos canMove en false.
     move = 20; //Y volvemos a poner a move en 20 para que se pueda volver a hacer la acción de temblor.
   }
}
[/gml]

Pues lo probe, con el view y con el objeto. Y no ocurria nada.
De todas formas lo mirare otra vez.

Gracias.
PCNONOGames  www.pcnono.es

Cita de: Iros en Enero 04, 2015, 05:35:27 PM
El código funciona a la perfección, no se donde o como lo estás aplicando pero de seguro es que comprobás cierta acción, te dejo un ejemplo que hice donde se ejecuta en una alarma:

https://www.dropbox.com/s/zegij014a1hubiq/temblar.gmz?dl=0

Si lo ejecutaras directamente en el evento Step habría que comprobar ciertas condiciones, por ejemplo, si se presiona la barra espaciadora que una variable se ponga en TRUE, si esa variable es TRUE se ejecuta el código quedando algo así:

Create:
[gml]move = 20;
canMove = false;[/gml]

Step:
[gml]
if (keyboard_check_pressed(vk_space)) {
   if (!canMove) canMove = true; //Si canMove es FALSE lo volvemos TRUE.
}
if (canMove) { //Si canMove es TRUE (por haber presionado la barra espaciadora o cualquier otra acción)...
   if (move > 0) { //Si move es mayor que 0...
      image_angle = -move+(2*random(move)); //Alteramos el ángulo de la imagen con -move más un número aleatorio de move por 2.
      move -= .5; //Por cada paso restamos 0.5 de move.
   } else { //Si move es menor o igual a cero...
     canMove = false; //Ponemos canMove en false.
     move = 20; //Y volvemos a poner a move en 20 para que se pueda volver a hacer la acción de temblor.
   }
}
[/gml]

Me he descargado el archivo, pero es formato gmz, y game maker studio son gmx

Que game maker usas?? para ese formato??
PCNONOGames  www.pcnono.es

He copiado literalmente el codigo a un nuevo objeto llamado TEMBLOR.

Con su corresppondiente create y step. pero no ocurre nada de nada.

Seguro que este codigo funciona en game make studio??

??? ???
PCNONOGames  www.pcnono.es

Si descargas el archivo que dejé y te vas a "File > Import" vas a poder abrirlo sin ningún problema. La extensión *.gmz es la única extensión para exportar proyectos de :GMS:, es por eso que tenes que importarlo.

Cita de: Iros en Enero 07, 2015, 10:38:45 PM
Si descargas el archivo que dejé y te vas a "File > Import" vas a poder abrirlo sin ningún problema. La extensión *.gmz es la única extensión para exportar proyectos de :GMS:, es por eso que tenes que importarlo.

No lo sabia.

Pues voy a probarlo. A ver si me entero que ocurre.
muchas gracias.  :-\ :-\
PCNONOGames  www.pcnono.es

Cita de: Iros en Enero 07, 2015, 10:38:45 PM
Si descargas el archivo que dejé y te vas a "File > Import" vas a poder abrirlo sin ningún problema. La extensión *.gmz es la única extensión para exportar proyectos de :GMS:, es por eso que tenes que importarlo.

No tengo la opcion de import!!!! Tengo la de exportar. Pero no la de importar. Eso como puede ser??: ???
PCNONOGames  www.pcnono.es

Apenas abrís el :GMS: te salen todos los proyectos recientes, también tenes unas pestañas, una de esas pestañas dice "Import", si no abrí cualquier proyecto o creá uno nuevo y te vas a "File > Import Project" y ya, te dejo captura:


Cita de: Iros en Enero 10, 2015, 08:40:57 PM
Apenas abrís el :GMS: te salen todos los proyectos recientes, también tenes unas pestañas, una de esas pestañas dice "Import", si no abrí cualquier proyecto o creá uno nuevo y te vas a "File > Import Project" y ya, te dejo captura:



Vale, ya he encontrado import, no estaba en la pestaña file, estaba en el menu principal. Lo selecciono, me muestra un mensaje y carga el archivo gmx
Pero no aparece nada, es como si el proyecto estuviera vacio. El memsaje que me muestra al importar el archivo gmz es el siguiente:

Ayuda!!!
PCNONOGames  www.pcnono.es

La versión 1.1 no puede importar proyectos de las versiones 1.3 en adelante.