:GMS:
Hola, estoy haciendo un juego de naves en scroll vertical, al momento de crear los enemigo se me ocurrió que estos fueran creados por una linea de tiempo y que los objetos enemigo tuvieran un path (simple por cierto) para darle un patrón para hacer el juego mas interesante, la idea es que el objeto enemigo se cree en una posición por encima de la pantalla y al descender a cierta posición se activara el path y el objeto enemigo la sugiera por eso puse el siguiente código en el
evento step del enemigo:
if(y>=128)
{
vspeed=0;
hspeed=0;
path_start (path_enemy_02,2,3,0);
}
el problema es que al cumplirse la condición en vez de que el enemigo siga el path este se va en linea a la izquierda. >:(
Yo también estoy con un shooter vertical. También uso paths para los enemigos y me he dado cuenta de que cuando creas los objetos fuera de la pantalla no se mueven o no aparecen...supongo que es porque quedan fuera del room. Prueba primero que el enemigo se cree dentro y que siga bien el path que le pasas.
saludos
Cita de: Carlos64 en Marzo 17, 2015, 05:57:03 AM
:GMS:
Hola, estoy haciendo un juego de naves en scroll vertical, al momento de crear los enemigo se me ocurrió que estos fueran creados por una linea de tiempo y que los objetos enemigo tuvieran un path (simple por cierto) para darle un patrón para hacer el juego mas interesante, la idea es que el objeto enemigo se cree en una posición por encima de la pantalla y al descender a cierta posición se activara el path y el objeto enemigo la sugiera por eso puse el siguiente código en el
evento step del enemigo:
if(y>=128)
{
vspeed=0;
hspeed=0;
path_start (path_enemy_02,2,3,0);
}
el problema es que al cumplirse la condición en vez de que el enemigo siga el path este se va en linea a la izquierda. >:(
Hola, yo uso path para otras cosas, pero mira lo que yo veo aquí. Bueno, faltaría ver el paht como es, pero si hubiera un error hay.
El problema es que en el evento step se repite continuamente, a cada movimiento, y que implica eso, que se inicializa e path en cada step que este por debajo de la y=128. Tendrías que poner un condicional.
if path.vspeed = 0 {path_start}.
O algo asi. Ahora estoy en el móvil y no puedo ver exactamente el código, mi cabeza no da para mas.
La cosa es que si el path ya esta inicializado no vuelva a inicializarlo.
bueno ya he probado creando el enemigo dentro de la room y se sigue el path, y no tengo problemas cuando el enemigo se crea fuera de la room, yo creo el objeto en medio del room pero en una posición "y=-25" con una velocidad vertical de 2.5 lo que le permite decender al enemigo, pero al llegar en donde se cumple la condición el objeto se va a la izquierda hasta salir del room.
Te han respondido arriba, estas inicializando una y otra vez el path, tu condicional y>=128 le esta ordenando que ejecute el path si es igual o MAYOR!! a 128
129 ejecuta el path, 130 ejecuta el path etc etc etc... Un patrón se tiene que ejecutar en un solo paso "step" .....Lo que tu haces es comerte toda la memoria y cpu del ordenador creando un path continuamente recomenzando desde 0;
Cita de: jaimitoes en Marzo 18, 2015, 06:09:45 AM
Te han respondido arriba, estas inicializando una y otra vez el path, tu condicional y>=128 le esta ordenando que ejecute el path si es igual o MAYOR!! a 128
129 ejecuta el path, 130 ejecuta el path etc etc etc... Un patrón se tiene que ejecutar en un solo paso "step" .....Lo que tu haces es comerte toda la memoria y cpu del ordenador creando un path continuamente recomenzando desde 0;
si he seguido el consejo y he solucionado el problema, cree 2 path, al crearse el enemigo este sigue el path que le indica que descienda desde arriba del room hasta cierta posición y en el evento step del enemigo le indico lo siguiente
if(path_position==1) path_start (path_ene02_ent,2,3,0);
ya con esto el objeto enemigo sigue la ruta sin problemas, por ahora ;)