Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eams1986 en Octubre 29, 2014, 09:18:04 PM

Título: Cajas en caida
Publicado por: eams1986 en Octubre 29, 2014, 09:18:04 PM
Amigos  necesito  de una mano  de ustedes

tengo un   

obj_generator
//create
alarm[0] = 10;

//alarm 0

var platformCreate;

platformCreate = irandom(3); //Vos tenes 3 plataformas, por eso serían 0, 1 y 2.

switch (platformCreate) {
          case 0:
                 platform = instance_create(x,y,obj_box_x);
                 platform.vspeed = -5;
          break;
          case 1:
                 platform = instance_create(x,y,obj_box_0);
                 platform.vspeed =- 5;
          break;
          case 2:
                 platform =  instance_create(x,y,obj_caja3);
                 platform.vspeed =- 5;
          break;
          case 3:
                 platform =  instance_create(x,y,obj_caja4);
                 platform.vspeed = -5;
          break;
         
}
alarm[0] = room_speed*2;


El problema es que se superponen las CAJAS las cuales van hacia abajo y tienen que llegar al piso una ves lleguen al piso es el problemas
por que las cajas las tengo que destruir una por una entonces entre mas cajas destruya mas van caer y al colisionar una con otras ya no bajan.

me olvida decirles que en Event EndStep tengo esto
//gravedad
if (place_free(x,y+2))
{
gravity = 0.5;
gravity_direction = 270;

}


espero me explique bien como siempre muchas gracias.
Título: Re:Cajas en caida
Publicado por: Clamud en Octubre 30, 2014, 04:01:59 AM
Si quieres que las cajas vayan hacia abajo debes asignar una vspeed positiva, entonces debes borrar el signo - en el código, espero que con eso se arregle el problema.
Título: Re:Cajas en caida
Publicado por: eams1986 en Octubre 30, 2014, 04:43:49 AM
No lo mismo..
Título: Re:Cajas en caida
Publicado por: p34 en Octubre 31, 2014, 06:06:43 AM
¿Qué código usas para que se detengan cuando se empiezan a apilar?

Probablemente tengas una bandera para que deje de caer cuando ya no se cumple el place_free() y no la vuelves a activar.
Título: Re:Cajas en caida
Publicado por: kostra en Octubre 31, 2014, 06:36:28 AM
step de la caja:
if place_free(x,y+vpseed) vpseed = 5; //pon el 5 a tu gusto
else vspeed = 0;


en la caja marcas la casilla solid y yasta, no necesitas tanto royo para hacer caer una cajita. Si ves que no empieza a caer, en create ponle un vspeed = 5; //el mismo numero de antes
Título: Re:Cajas en caida
Publicado por: eams1986 en Octubre 31, 2014, 07:20:26 AM
Al parecer el codigo funciona pero tiene mas de algun error

Las cajas despues de 2 que le caigan encima despues no deja moverlas ,
cuando hay solo 2 si se mueven
Título: Re:Cajas en caida
Publicado por: eams1986 en Octubre 31, 2014, 07:24:20 AM
me olvida decirles que en Event EndStep /////quite esto
la caja esta en solido y centrado
//gravedad
//if (place_free(x,y+2))
//{
//gravity = 0.5;
//gravity_direction = 270;

//}


GraciAS
Título: Re:Cajas en caida
Publicado por: kostra en Octubre 31, 2014, 08:03:04 AM
ok, en la parte de if place_free(x,y+vspeed) añádele un +1 tal quede así: place_free(x,y+vspeed+1)

o prueba poner un 2 o más, sin pasarse a menos mejor, eso depende de la velocidad  tal

y abajo de todo aquello que te dije, como veo que tratas de hacer algo tipo arena del minecraft, SUPONGO que lo tienes en una cuadricula, por eso añadele esto:

if vspeed = 0 move_snap(32,32); //32 es el tamaño de tu cuaricula.

y en el caso de que eso no sea asi... entonces cambia el primer 32 por un 1 y el segundo, dependiendo de la altura de los tiles, si no tienes todo bien cuadrado, pasan esas cosas xd

te adjunto un ejemplo donde sale impecable todo
Título: Re:Cajas en caida
Publicado por: eams1986 en Octubre 31, 2014, 04:26:01 PM
Kostra muchas gracias el ejemplo funka bien ..pero ocupo tener el origen de CAJA centrado entonces me trae problemas
mi caja es de 100x96 de alto .


Muchas gracias
Título: Re:Cajas en caida
Publicado por: kostra en Octubre 31, 2014, 04:31:57 PM
en el ejemplo está centrado porke lo puse así para ponerlas bien al clickar, en la cuadrícula, pero no hace falta, lo importante es la mask :/
Título: Re:Cajas en caida
Publicado por: eams1986 en Octubre 31, 2014, 05:00:13 PM
Kostra gracias por responder disculpe si no me supe expresar pero la caja tiene origen center x 50 y 48 .
es de 100x96
las mask la puse igual que la del ejemplo
Título: Re:Cajas en caida
Publicado por: kostra en Octubre 31, 2014, 06:15:19 PM
pásame el editable T_T
Título: Re:Cajas en caida
Publicado por: eams1986 en Octubre 31, 2014, 06:46:15 PM
Lo mande por MP.  gracias