Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: desplo en Enero 18, 2015, 03:49:19 AM

Título: Ayuda con un instance create en un mouse left button
Publicado por: desplo en Enero 18, 2015, 03:49:19 AM
En un objeto puse una mouse left button, ese mouse left button tiene un instance create que crea un objeto que se encarga del moviemiento de otro objeto.

en el mouse left button puse esto:
instance_create(0,0,moviemiento)

pero funciona solo cuando tengo el clic izquierdo presionado y despues el instance create deja de funcionar.
Para hacer que vuelva a funcionar tengo que volver a hacer clic.

resumiendo...
El objeto solo se mueve cuando hago el click y al instante deja de moverse al instante.
tengo que volver a hacer clic izquierdo para que se siga moviendo.
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: 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.

Usar instance_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.

Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: 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
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: desplo en Enero 18, 2015, 04:53:33 AM
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.

Usar instance_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.

Probe tu codigo pero no es lo que necesito :l

te explicare mejor.

tengo 2 objetos.
el primero objeto es un boton que al clickearlo va a iniciar al otro objeto (este objeto se llama EMPEZAR).
Al primero objeto le tengo un mouse left button y al mouse left button le puse:
instance_create(0,0,movimiento)

el segundo objeto es un objeto que se encarga de aparacer y mover un carro (este objeto se llama movimiento).
Al segundo objeto le tengo un create, y un movimiento a la izquiera en velocidad de 10 y un alarm y al create le puse:
alarm[0] = 40
A la alarm le puse:
instance_create(150,150,carro)
alarm[0] = 40 ////La idea es que se cree un carro cada cierto tiempo


Bueno la idea es que al presionar el boton ''empezar'' aparesca un carro y avance y sigan apareciendo y avanzando.
Pero lo presiono 1 vez y aparece 1 carro y avanza pero no siguen apareciendo y tengo que hacer click izquierdo otra vez para que sigan apareciando y yo quiero que solo al presionar el boton ''empezar'' una vez se haga todo el proceso.

No se si me entienden asi :$
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: 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 AM
Al segundo objeto le tengo un create, y un movimiento a la izquiera en velocidad de 10 y un alarm
Lo 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:

[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]
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: 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
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: desplo en Enero 18, 2015, 05:53:23 AM
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 AM
Al segundo objeto le tengo un create, y un movimiento a la izquiera en velocidad de 10 y un alarm
Lo 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:

[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]

En una parte si funciono.

Pero me pasa lo mismo :(

hago 1 click izquierdo y solo sale 1 vez el carro y ya no siguen saliendo.

tengo que volver a clickear para que aparescan.

Gracias por la ayuda
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: desplo en Enero 18, 2015, 05:56:34 AM
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
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: penumbra en Enero 18, 2015, 12:42:00 PM
Lo más probable es que tengas código adicional que interfiere. Aquí dejo un ejemplo para que veas que funciona correctamente:
http://www.mediafire.com/download/xd2r3ddr2b46k0e/carro.gmz (http://www.mediafire.com/download/xd2r3ddr2b46k0e/carro.gmz)
Título: Re:Ayuda con un instance create en un mouse left button
Publicado por: desplo en Enero 18, 2015, 10:33:13 PM
Cita de: penumbra en Enero 18, 2015, 12:42:00 PM
Lo más probable es que tengas código adicional que interfiere. Aquí dejo un ejemplo para que veas que funciona correctamente:
http://www.mediafire.com/download/xd2r3ddr2b46k0e/carro.gmz (http://www.mediafire.com/download/xd2r3ddr2b46k0e/carro.gmz)
Cuando vi el ejemplo, me di cuenta que habia hecho algo mal.

Gracias, estuve mucho tiempo sin poder resolver mi problema.