Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: desplo en Enero 17, 2015, 12:06:15 AM

Título: Como hacer que una acción empieze después de presionar un objeto?
Publicado por: desplo en Enero 17, 2015, 12:06:15 AM
Por ejemplo:

Hay una carretera pero la carretera está vacia. Atras de la carretera está el personaje.

Lo que yo quiero hacer es que al mover el personaje (El personaje se mueve dando mouse left pressed), los carros empiezen a avanzar por la carretera.

Hice lo siguiente pero no funciono:

En el personaje puse un mouse left pressed y un codigo:
instance_create(movimiento_de_carros, 150, 150)
////movimiento_de_carros es el que se encarga de aparecer y mover los carros


Pero si presiono varias veces al personaje se crean varios ''movimiento_de_carros'' y aparecen varios carros y la carretera se llena de carros y el juego se traba.
Título: Re:Como hacer que una acción empieze después de presionar un objeto?
Publicado por: Hermoduro en Enero 17, 2015, 12:20:21 AM
Pues Deberias Crear Un Variable si quieres que solo una vez se cren los carro de vez hacer los siguiente

Create Event:

CarrosLimite=true;

Donde Pusistes el instance

if keyboard_check_pressed(vk_left) && CarrosLimite=true
{
//Tu Codigo del Movimiento del jugador
instance_create(movimiento_de_carros, 150, 150);
CarrosLimite=false;
}
Título: Re:Como hacer que una acción empieze después de presionar un objeto?
Publicado por: desplo en Enero 17, 2015, 12:43:48 AM
Cita de: Hermoduro en Enero 17, 2015, 12:20:21 AM
Pues Deberias Crear Un Variable si quieres que solo una vez se cren los carro de vez hacer los siguiente

Create Event:

CarrosLimite=true;

Donde Pusistes el instance

if keyboard_check_pressed(vk_left) && CarrosLimite=true
{
//Tu Codigo del Movimiento del jugador
instance_create(movimiento_de_carros, 150, 150);
CarrosLimite=false;
}

Lo probe y los carros nunca aparecen :(
Título: Re:Como hacer que una acción empieze después de presionar un objeto?
Publicado por: Clamud en Enero 17, 2015, 04:56:34 AM
En Create define una variable para saber cuál es la primera presión del botón del ratón, ejemplo:
[gml]
primer_press = true;
[/gml]
En el evento Left Pressed checa si es el primer click y crea el objeto movimiento_de_carros
[gml]
if( primer_press )
{
    instance_create(movimiento_de_carros, 150, 150)
    primer_press = false;
}
[/gml]