Buenas tardes comunidad :)
En esta oportunidad estoy desarrollando la actualización de mi videojuego, en la cual he decido meterle bosses a lo largo que se alcanzan puntajes más altos. Uno de ellos comienza a dispararle balas a mi personaje, el cual debe esquivarselas saltando una y otra vez. No obstante, quiero que las balas se comporten como una función seno, para darle mas dinámica a la lucha con el boss. Se que existen funciones en GM para realizarlo, pero la verdad es que no se como hacerlo :-[ Gracias :D
Las funciones seno/coseno son funciones periódicas, por lo que necesitas crear una variable que represente un ángulo. esa variable se incrementa en STEP, y se usa como argumento de la función. Aplicas esa función a la coordenada y del objeto y ya tienes un movimiento sinusoidal
Otra manera, que (no lo he comprobado) es quizás menos "pesada" es usar una alarma para controlar la "ondulación" o vaivén del objeto
http://www.comunidadgm.org/preguntas-y-respuestas/utilizar-path-y-movimiento-orizontal/msg111923/#msg111923
Entendido :D
En este momento tengo los siguientes códigos.
Este es el objeto bala.
Create
hspeed = -6;
direccion = 0;
Step:
if(x<-10){
instance_destroy();
}
y += sin(degtorad(direccion)) * hspeed;
direccion += 1;
image_angle += 1;
Así tal cual está lo pobre y no logro obtener el movimiento que quiero :-X Estoy haciendo algo mal?
Acabe de modificarlo, y puse en el Step esto:
Step
if(x<-10){
instance_destroy();
}
y += sin(direccion)
direccion += 10;
image_angle += 1;
Sin embargo tengo una pregunta. El atributo que paso en la función seno es un atributo que está en radianes correcto, por lo tanto debo convertirlo a un ángulo con degtorad ?
Por cierto, además de generar un movimiento sinudoidal, de igual forma el sprite no puede quedar estático mientras aumenta o disminuye su coordenada en y, Cómo se integraría correctamente con al función seno un image_angle XD
Cita de: Juanchobanano en Mayo 07, 2015, 12:31:03 AM
Sin embargo tengo una pregunta. El atributo que paso en la función seno es un atributo que está en radianes correcto, por lo tanto debo convertirlo a un ángulo con degtorad ?
GMS incorporó una función para calcular el seno directamente en grados
http://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/dsin.html (http://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/dsin.html)
Cita de: Juanchobanano en Mayo 07, 2015, 12:31:03 AM
Por cierto, además de generar un movimiento sinudoidal, de igual forma el sprite no puede quedar estático mientras aumenta o disminuye su coordenada en y, Cómo se integraría correctamente con al función seno un image_angle XD
Piensa un poco, quieres relacionar image_angle, que es un angulo, con otro ángulo, que es la dirección actual de la bala...