Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Naitsabes0 en Noviembre 15, 2017, 06:25:14 AM

Título: Problema con el "creation code" [solucionado]
Publicado por: Naitsabes0 en Noviembre 15, 2017, 06:25:14 AM
Bueno quiero hacer que el objeto tenga sus propias coordenadas de movimiento en "creation code" por esta razón he inactivado las coordenadas del obj_Bloque_Creador, ya que trato de hacer muchos bloques que se mueven en diferentes coordenadas.

CREATE

///Patron
global.patron = path_add();
//Coordenadas
/*path_add_point(global.patron,64,64,room_speed);
path_add_point(global.patron,640,64,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,960,480,room_speed);
path_add_point(global.patron,960,960,room_speed);
path_add_point(global.patron,640,960,room_speed);*/
//Detener movimiento
path_set_closed(global.patron,false);
path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_stop,1);
//Crear otro bloque
alarm[0] = room_speed
instance_create(0,0,obj_Bloque_Creado);


ALARMA0

///Crear clon
instance_create(x,y,obj_Bloque_Creado);
alarm[0] = room_speed - 5;


DRAW

///Dibujar lineas de movimiento
draw_self()
draw_path(global.patron,x,y,1);


creation code
//Coordenadas
path_add_point(global.patron,64,64,room_speed);
path_add_point(global.patron,640,64,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,960,480,room_speed);
path_add_point(global.patron,960,960,room_speed);
path_add_point(global.patron,640,960,room_speed);

El resultado es que esta sin movimiento.
Título: Re:Problema con el "creation code"
Publicado por: Alice en Noviembre 15, 2017, 11:51:50 AM
Vuelve q llamar a path_start(...)
Luego de definir los puntos.


Esto es porque los creation Codes se ejecutan luego del evento create
Título: Re:Problema con el "creation code"
Publicado por: Naitsabes0 en Noviembre 15, 2017, 12:23:32 PM
Cita de: Alice en Noviembre 15, 2017, 11:51:50 AM
Vuelve q llamar a path_start(...)
Luego de definir los puntos.


Esto es porque los creation Codes se ejecutan luego del evento create
No entiendo lo que me estas explicando ¿como es eso de que "Vuelve q llamar a path_start(...)"? los códigos de coordenadas están el "creation code", pero no se ejecutan.
Título: Re:Problema con el "creation code"
Publicado por: Seirlord_Games en Noviembre 15, 2017, 12:50:47 PM
Yo no suelo usar paths, pero a priori te diria:
Mira que la formula para la velocidad de un numero positivo
Y supongo que has puesto comentado los puntos de coordenadas de testeo (/*), así que quitalo
Título: Re:Problema con el "creation code"
Publicado por: Naitsabes0 en Noviembre 15, 2017, 07:12:34 PM
Cita de: Seirlord_Games en Noviembre 15, 2017, 12:50:47 PM
Yo no suelo usar paths, pero a priori te diria:
Mira que la formula para la velocidad de un numero positivo
Y supongo que has puesto comentado los puntos de coordenadas de testeo (/*), así que quitalo
Soy consciente de que si los quito funcionara correctamente, mi problema es quiero crear centenas de objetos que se muevan con coordenadas, no quiero crear 1 padre y 100 objetos cuando se puede hacer con 1 solo atravez del "creation code", ya que todos se comportan igual, pero con distintas coordenadas que deben ser programadas en un "creation code".
Título: Re:Problema con el "creation code"
Publicado por: Alice en Noviembre 15, 2017, 07:29:30 PM
creation code
//Coordenadas
path_add_point(global.patron,64,64,room_speed);
path_add_point(global.patron,640,64,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,960,480,room_speed);
path_add_point(global.patron,960,960,room_speed);
path_add_point(global.patron,640,960,room_speed);



path_start(bla bla)








Así
Título: Re:Problema con el "creation code"
Publicado por: Naitsabes0 en Noviembre 15, 2017, 09:38:48 PM
Cita de: Alice en Noviembre 15, 2017, 07:29:30 PM
creation code
//Coordenadas
path_add_point(global.patron,64,64,room_speed);
path_add_point(global.patron,640,64,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,640,480,room_speed);
path_add_point(global.patron,960,480,room_speed);
path_add_point(global.patron,960,960,room_speed);
path_add_point(global.patron,640,960,room_speed);



path_start(bla bla)








Así

Bueno he perdido la linea que me dice donde ira el objeto por hacer este cambio, pero gracias a su dato he logrado crear otro objeto que se mueva de forma independiente al primer objeto  :).
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: desplo en Noviembre 16, 2017, 12:57:23 AM
La verdad no entendi muy bien tu problema.
Creo que te referias a que el path no tenia movimiento? Si es asi entonces es por que está mal definida la velocidad del path.

Cita de: Naitsabes0 en Noviembre 15, 2017, 06:25:14 AM

CREATE

path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_stop,1);


El problema es la formula que estás utilizando ya que estas multiplicando x2 el numero de puntos del path y eso lo divides por la velocidad de la room.
Entiendo que lo multiplicas por 2 para que vaya mas rapido al ejemplo anterior que te adjunte en tu publicación anterior, asi que te recomiendo encerrar en parentesis las formulas;
(room_speed/path_get_number(global.patron))*2
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: Naitsabes0 en Noviembre 16, 2017, 05:05:04 AM
Cita de: desplo en Noviembre 16, 2017, 12:57:23 AM
La verdad no entendi muy bien tu problema.
Creo que te referias a que el path no tenia movimiento? Si es asi entonces es por que está mal definida la velocidad del path.

Cita de: Naitsabes0 en Noviembre 15, 2017, 06:25:14 AM

CREATE

path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_stop,1);


El problema es la formula que estás utilizando ya que estas multiplicando x2 el numero de puntos del path y eso lo divides por la velocidad de la room.
Entiendo que lo multiplicas por 2 para que vaya mas rapido al ejemplo anterior que te adjunte en tu publicación anterior, asi que te recomiendo encerrar en parentesis las formulas;
(room_speed/path_get_number(global.patron))*2
Me refería a que tenga un único objeto que tenga todas las interacciones del obj_Bloque_Creador y obj_Bloque_Creado, pero que las únicas variantes sean las coordenadas creadas en un "creaton code", ya que me permite colocar muchos objetos en la "room" con diferentes movimientos.

MI PROBLEMA ACTUAL ES: solo 1 objeto tiene la linea que dice donde se moverá.

(https://i.gyazo.com/50ab51576e83f6de44cb9392de8be226.gif)
Si quieres ver como es el código de ambos objetos, eso esta arriba, por otro lado la diferencia de "creation code" de estos objetos es:

///1
path_add_point(global.patron,32,32,room_speed);
path_add_point(global.patron,320,32,room_speed);
path_add_point(global.patron,320,240,room_speed);
path_add_point(global.patron,480,240,room_speed);
path_add_point(global.patron,480,240,room_speed);
path_add_point(global.patron,480,320,room_speed);
path_add_point(global.patron,320,320,room_speed);
//Detener movimiento
path_set_closed(global.patron,false);
path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_reverse,1);

///2
path_add_point(global.patron,16,16,room_speed);
path_add_point(global.patron,160,16,room_speed);
path_add_point(global.patron,160,120,room_speed);
path_add_point(global.patron,240,120,room_speed);
path_add_point(global.patron,240,120,room_speed);
path_add_point(global.patron,240,160,room_speed);
path_add_point(global.patron,160,160,room_speed);
//Detener movimiento
path_set_closed(global.patron,false);
path_start(global.patron,room_speed/path_get_number(global.patron)*2,path_action_reverse,1);
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: desplo en Noviembre 16, 2017, 05:39:14 AM
Cita de: Naitsabes0 en Noviembre 15, 2017, 06:25:14 AM

MI PROBLEMA ACTUAL ES: solo 1 objeto tiene la linea que dice donde se moverá.


Sigo sin entender muy bien XD
Quieres que todos los puntos de un path esten en un create de un objeto?
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: Naitsabes0 en Noviembre 16, 2017, 06:40:57 AM
Cita de: desplo en Noviembre 16, 2017, 05:39:14 AM
Cita de: Naitsabes0 en Noviembre 15, 2017, 06:25:14 AM

MI PROBLEMA ACTUAL ES: solo 1 objeto tiene la linea que dice donde se moverá.


Sigo sin entender muy bien XD
Quieres que todos los puntos de un path esten en un create de un objeto?
Si vez la imagen hay una linea negra que es blanca producto del efecto linterna, un bloque (los amarillos) se mueve por esa linea, pero el otro no la dibuja, el objeto con códigos solo se encarga de controlar la velocidad y colisiones, es el "creation code" quien tiene las coordenadas, ya que me permite personalizar su patrón.
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: desplo en Noviembre 17, 2017, 07:35:26 AM
Cita de: Naitsabes0 en Noviembre 16, 2017, 06:40:57 AM
Si vez la imagen hay una linea negra que es blanca producto del efecto linterna, un bloque (los amarillos) se mueve por esa linea, pero el otro no la dibuja, el objeto con códigos solo se encarga de controlar la velocidad y colisiones, es el "creation code" quien tiene las coordenadas, ya que me permite personalizar su patrón.

No la dibuja ya que ambos objetos dibujan el mismo path (global.patron)
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: Naitsabes0 en Noviembre 17, 2017, 01:23:27 PM
Cita de: desplo en Noviembre 17, 2017, 07:35:26 AM
Cita de: Naitsabes0 en Noviembre 16, 2017, 06:40:57 AM
Si vez la imagen hay una linea negra que es blanca producto del efecto linterna, un bloque (los amarillos) se mueve por esa linea, pero el otro no la dibuja, el objeto con códigos solo se encarga de controlar la velocidad y colisiones, es el "creation code" quien tiene las coordenadas, ya que me permite personalizar su patrón.

No la dibuja ya que ambos objetos dibujan el mismo path (global.patron)
(https://i.gyazo.com/50ab51576e83f6de44cb9392de8be226.gif)
Bien creo que no estas mirando bien la animación, hay claramente un bloque (amarillo) que tiene una linea mientras que el otro no.
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: desplo en Noviembre 19, 2017, 12:51:04 AM
Cita de: Naitsabes0 en Noviembre 17, 2017, 01:23:27 PM
(https://i.gyazo.com/50ab51576e83f6de44cb9392de8be226.gif)
Bien creo que no estas mirando bien la animación, hay claramente un bloque (amarillo) que tiene una linea mientras que el otro no.

Bien. Entonces lo unico que quieres es que el otro bloque muestre el path?

Entonces es por eso mismo. Ambos dibujan el mismo path que siempre se encuentra en la misma ubicación.

Prueba creando un nuevo path en el create del otro objeto

[gml]
global.patron2 = path_add();

path_add_point(global.patron2,16,16,room_speed);
path_add_point(global.patron2,160,16,room_speed);
path_add_point(global.patron2,160,120,room_speed);
path_add_point(global.patron2,240,120,room_speed);
path_add_point(global.patron2,240,120,room_speed);
path_add_point(global.patron2,240,160,room_speed);
path_add_point(global.patron2,160,160,room_speed);
//Detener movimiento
path_set_closed(global.patron2,false);
path_start(global.patron2,room_speed/path_get_number(global.patron2)*2,path_action_reverse,1);
[/gml]
Título: Re:Problema con el "creation code" [solucionado]
Publicado por: Naitsabes0 en Noviembre 19, 2017, 06:27:18 PM
Cita de: desplo en Noviembre 19, 2017, 12:51:04 AM
Cita de: Naitsabes0 en Noviembre 17, 2017, 01:23:27 PM
(https://i.gyazo.com/50ab51576e83f6de44cb9392de8be226.gif)
Bien creo que no estas mirando bien la animación, hay claramente un bloque (amarillo) que tiene una linea mientras que el otro no.

Bien. Entonces lo unico que quieres es que el otro bloque muestre el path?

Entonces es por eso mismo. Ambos dibujan el mismo path que siempre se encuentra en la misma ubicación.

Prueba creando un nuevo path en el create del otro objeto

[gml]
global.patron2 = path_add();

path_add_point(global.patron2,16,16,room_speed);
path_add_point(global.patron2,160,16,room_speed);
path_add_point(global.patron2,160,120,room_speed);
path_add_point(global.patron2,240,120,room_speed);
path_add_point(global.patron2,240,120,room_speed);
path_add_point(global.patron2,240,160,room_speed);
path_add_point(global.patron2,160,160,room_speed);
//Detener movimiento
path_set_closed(global.patron2,false);
path_start(global.patron2,room_speed/path_get_number(global.patron2)*2,path_action_reverse,1);
[/gml]
Ambos objetos tienen al mismo objeto con los mismos códigos, no voy a crear nuevos objetos y darles un padre cuando solo quiero cambiar las coordenadas, la única diferencia es que sus coordenadas son cambiadas en el "create code", a pesar de que están programados con lo mismo el otro no dibuja linea.