Mayo 06, 2015, 11:19:20 PM Ultima modificación: Mayo 07, 2015, 04:04:12 AM por Juanchobanano
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

#2 Mayo 07, 2015, 12:31:03 AM Ultima modificación: Mayo 07, 2015, 12:39:11 AM por Juanchobanano
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

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