Cita de: 7sixerCF en Enero 18, 2015, 05:16:03 AM
Quieres que los carros vallan apareciendo uno tras otro (como si fuesen todos partes de un tren) al presionar el botón ?? XD
Si eso quiero, que vallan en fila
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.
Cita de: 7sixerCF en Enero 18, 2015, 05:16:03 AM
Quieres que los carros vallan apareciendo uno tras otro (como si fuesen todos partes de un tren) al presionar el botón ?? XD
Cita de: penumbra en Enero 18, 2015, 05:09:50 AM
Eeehh... más o menos.
Tienes tres objetos, EMPEZAR, MOVIMIENTO y CARRO. Lo que quieres hacer se puede con dos. Además, no entiendo por qué al objeto movimiento de las una velocidad de 10:Cita de: desplo en Enero 18, 2015, 04:53:33 AMLo normal es que el objeto que debe tener movimiento sea UNICAMENTE el objeto carro. Tampoco entiendo por qué si colocas el carro en (150,150) lo quieras mover a la izquierda, siendo que está en una posición muy cercana al borde izquierdo de la habitación. Yo haría esto:
Al segundo objeto le tengo un create, y un movimiento a la izquiera en velocidad de 10 y un alarm
[EMPEZAR, mouse left button]
[gml]
if !instance_exists(carro)
{
instance_create(150,150,carro) //Para que esto funcione, no debe haber ningún objeto carro colocado en la habitación manualmente
alarm[0] = 40
}
[/gml]
[EMPEZAR, alarm[0]]
[gml]
instance_create(150,150,carro)
alarm[0] = 40
[/gml]
[CARRO, STEP]
[gml]
hspeed = 10
[/gml]
Eso debería hacer que al presionar el botón empezar, se creara un carro que vanza, y después de 40 steps, otro más, y así sucesivamente. Por útlimo, algo muy importante es destruír los carros cuando salgan de la habitacion, por ejemplo en el evento
[CARRO, outside room]
[gml]instance_destroy()[/gml]
Cita de: 7sixerCF en Enero 18, 2015, 04:28:15 AM
Asi que tienes un objeto que mueve a otro objeto :-[ no entendi... Si pudieras explicar mejor que quieres que ocurra y los nombres exactos de los objetos involucrados seria mas facil para nosotros ayudarte :D
Cita de: penumbra en Enero 18, 2015, 04:12:06 AM
No entiendo muy bien, me da la impresión que estás recurriendo a varios objetos para hacer algo que se podría hacer con uno solo o con menos objetos. Si el objeto (no sé cuál) se mueve sólo al hacer click, eso quiere decir que el código de movimiento no está en el evento correcto (que debería ser STEP en la mayoría de los casos) o alguna condición está mal.
Usarinstance_create(0,0,moviemiento)
en el evento mouse left button va a provocar que por cada click, se cree (innecesariamente) un nuevo objeto "movimiento", lo cual es desaconsejable. Lo mejor es asegurarte de que sólo se cree un solo objeto así:if !instance_exists(moviemiento)
instance_create(0,0,moviemiento)
Pero para saber qué pasa exactamente, sería bueno que pusieras el código que usas para mover al objeto y que sólo funciona cuando se hace click.
instance_create(0,0,movimiento)
alarm[0] = 40
instance_create(150,150,carro)
alarm[0] = 40 ////La idea es que se cree un carro cada cierto tiempo
instance_create(0,0,moviemiento)
Cita de: zHeMaa en Enero 17, 2015, 09:52:25 AM
Tienes mal el código, Si tu alarma es 0, en create pon:alarm[0] = 30 //30 = 1 segundo, 60 = 2 segundos.. y así sucesivamente. (no hace falta que sea 30, pero así lo entiendes mejor)
En la alarm 0 ahora dentro de ella pon:alarm[0] = 30
Y listo, con esto la alarma 0 se debería de repetir todo el rato cada 1 segundo. El porque es básicamente porque, nada mas empezar activas la alarma 0 en 1 segundo (en el create), luego dentro de la alarma 0 haces el código que tengas que hacer y por ultimo vuelve a activar la alarma 0 en 1 segundo, si vuelve a activar la alarma 0, que es la que estábamos usando, estamos repitiendo, verdad?
Es sencillo cuando lo pillas.. si no te ha quedado claro pregunta, siempre es bueno aprender! :)
alarm[0] = 40
Cita de: ocarina en Enero 17, 2015, 08:09:34 AM
La solución es muy simple! Como vas a poner alarm[0]=0???
Oses no la estas activando! Tiene q ser mayor o igual a 1 para q se active! Y si puedes activarla desde la misma alarma! No tenes q hacer otra alama para activarla!
alarm[0] = 40
alarm[0] = 40
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;
}
instance_create(movimiento_de_carros, 150, 150)
////movimiento_de_carros es el que se encarga de aparecer y mover los carros
Cita de: ocarina en Enero 16, 2015, 07:09:53 PM
If instance_number(objeto) <1
{
Instance_create....
}
If instance_number(Pelota) <1
{
Instance_create(Pelota, 150, 150);
}
Cita de: TheSandBoxMKG en Diciembre 15, 2014, 05:45:58 AM
Mostrame tu código de la alarma, así lo reviso.
Citaralarm[0] = 10
Cita de: zHeMaa en Diciembre 14, 2014, 01:34:07 PM
Yo lo hago así:
En CREATE:crear_enemigo = true
En ALARM 0: (alarm 0 por ejemplo, tu pon la que uses)if crear_enemigo = true
{
instance_create(x,y,obj_enemigo1) //Aquí el código que quieres repetir
}
alarm[0]=150
Te explico, creas una variable con el nombre de lo que quieres hacer por ejemplo, ya sea "crear_enemigo" como por ejemplo llamarle "a", "b", etc. el nombre No importa, luego vamos a la ALARM que ahí esta lo importante, donde pone "crear_enemigo" pon la misma variable que en CREATE, y en "instance_create(x,y,obj_enemigo1)" era un ejemplo, eso lo borras y pones tu código. Y por ultimo, y lo que quieres hacer.. para que se repita creas el código de "alarm[0]=150", el "0" pones el nombre de la alarm, y en "150" los segundos. 30fps x 5segundos = 150, si quieres que se repita a los 10 segundos seria 300 (ya que 30fps x 10segundos = 300), etc.
Edito: Si ves que es muy liosa mi explicación, aquí te dejo el código sin la variable, funciona exactamente igual y es mas fácil de entender://Aquí el código que quieres repetir
alarm[0]=150 //150 cámbialo por el tiempo que quieras
Un saludo y comenta que tal funciona! ;)
Page generada en 0.024 segundos con 12 consultas.