Abril 22, 2014, 11:23:03 PM Ultima modificación: Abril 24, 2014, 04:35:36 PM por plamenov
Buenas, estoy creando mi primer juego y he llegagado a un punto que no encuntro ningun tutorial ni buscanco por este foro.
Mi juego consistira en esquivar objetos cayendo del cielo aleatoriamente por la pantalla. Alguen podria explicarme o decirme de algun tutorial para crear el movimiento de estos objetos. Deben salir aleatoriamente y a medida que va pasando el tiempo aumentar la velocidad.
Un saludo.

SOLUCION:

Es necesaria gravedad.

Create
poner_objeto_cayendo=true;

Alarm 0
randomize();
instance_create(random(room_with),0,objeto-cae)//objeto-cae es el objeto que tiene que caer, cambia eso por el nombre de tu //objeto que va a caer
poner_objeto_cayendo=true;


Step
if poner_objeto_cayendo=true
{
poner_objeto_cayendo=false;
alarm[0]=2*room_speed;//donde 2 son los segundos trascurridos entre cada creacion del objeto cayendo, si tu lo quieres mas //seguidos pon 1 y si lo quieres menos seguido po 3 o 4 o 5 o 6 o 7 o etc
}

#1 Abril 22, 2014, 11:44:32 PM Ultima modificación: Abril 22, 2014, 11:46:25 PM por penumbra
Se trata de darle una posición aleatoria (en X) al momento que se crea el objeto. Es simple, por ejemplo

randomize()
instance_create(irandom_range(0, room_width), -1, objeto)

Eso funciona, pero el inconveniente es que el objeto puede crearse muy lejos del jugador, en cualquier parte de la habitación). Se solucion especificando un rango menor en X, cercano al personaje, para que los objetos caigan cerca de él y así se aumente la jugabilidad. El rango ya lo decides tú, dependiendo de qué tan fácil o difícil quieras que sea el juego

pon esto en un objeto

obj_contol

create

poner_objeto_cayendo=true;


step

if poner_objeto_cayendo=true
{
poner_objeto_cayendo=false;
alarm[0]=2*room_speed;//donde 2 son los segundos trascurridos entre cada creacion del objeto cayendo, si tu lo quieres mas //seguidos pon 1 y si lo quieres menos seguido po 3 o 4 o 5 o 6 o 7 o etc
}


alarm0

randomize();
instance_create(random(room_with),0,objeto-cae)//objeto-cae es el objeto que tiene que caer, cambia eso por el nombre de tu //objeto que va a caer
poner_objeto_cayendo=true;





saludos comenta si te sirve!!
PURA VIDA



#3 Abril 23, 2014, 09:47:14 PM Ultima modificación: Abril 23, 2014, 09:58:58 PM por plamenov
Lo he intentado y me queda asi:
Create
poner_objeto_cayendo=true;

Alarm 0
randomize();
instance_create(random(room_width),0,obj_roca);


Step
if poner_objeto_cayendo=true
{
poner_objeto_cayendo=false;
alarm[0]=2*room_speed;//donde 2 son los segundos trascurridos entre cada creacion del objeto cayendo, si tu lo quieres mas //seguidos pon 1 y si lo quieres menos seguido po 3 o 4 o 5 o 6 o 7 o etc
}


Alarm 0 siempre se me pone antes que Step. Lo que consegui es que el obl_roca se crea 1 vez solamente y cae con gravedad 0.5. Aun no se como crear el objeto repetidamente. Si doy con la respuesta antes de que alguen comente laq pondre aqui.

Gracias a los dos por la rapida respuesta.

en almar 0 le falto poner esto

poner_objeto_cayendo=true;
PURA VIDA



Muchas gracias, ya funciona a la perfeccion. edito primer mensaje para futuras dudas.