Este power up se ve así en el juego:
(https://i.gyazo.com/92d0fd809e87b7d3871fcd3445beb5e5.gif)
Como pueden ver sale la bola al momento de tomar el power up, pero mi problema es que solo 1 de 4 gira al rededor del personaje :-\, una en cada 90° grados y solo se mueve la derecha.
Este es el código.
obj_Bola_orbital
CREATE:
///Variables
radio_bola = 80;
angulo_bola = 0;
STEP:
x = objJugador.x + cos(degtorad(angulo_bola)) * radio_bola;
y = objJugador.y - sin(degtorad(angulo_bola)) * radio_bola;
angulo_bola = angulo_bola + 4;
obj_Poder_Bola_Orbital
COLISION JUGADOR:
instance_create(objJugador.x+90,objJugador.y,obj_Bola_Orbital);
instance_create(objJugador.x-90,objJugador.y,obj_Bola_Orbital);
instance_create(objJugador.x,objJugador.y+90,obj_Bola_Orbital);
instance_create(objJugador.x,objJugador.y-90,obj_Bola_Orbital);
instance_destroy();
Bueno también pueden usarlo para sus juegos, ademas si queda solucionado lo dejare para que alguien lo estudie :), saludos.
Sí se generan 4, pero quién sabe dónde XD
El problema es que estás poniendo como coordenadas (x o y) la variable "objJugador" que lo que hace es tomar el valor del id de la primera instancia del jugador. Debes hacer referencia a objJugador.x y objJugador.y; así:
instance_create(objJugador.x+90,objJugador.y,obj_Bola_Orbital);
instance_create(objJugador.x-90,objJugador.y,obj_Bola_Orbital);
instance_create(objJugador.x,objJugador.y+90,obj_Bola_Orbital);
instance_create(objJugador.x,objJugador.y-90,obj_Bola_Orbital);
instance_destroy();
Cita de: knd144 en Abril 30, 2017, 12:43:48 AM
Sí se generan 4, pero quién sabe dónde XD
El problema es que estás poniendo como coordenadas (x o y) la variable "objJugador" que lo que hace es tomar el valor del id de la primera instancia del jugador. Debes hacer referencia a objJugador.x y objJugador.y; así:
instance_create(objJugador.x+90,objJugador.y,obj_Bola_Orbital);
instance_create(objJugador.x-90,objJugador.y,obj_Bola_Orbital);
instance_create(objJugador.x,objJugador.y+90,obj_Bola_Orbital);
instance_create(objJugador.x,objJugador.y-90,obj_Bola_Orbital);
instance_destroy();
Hola, bueno su código no esta mal, almenos se logra apreciar que las otras 3 bolas si aparecen, aunque sea por unas décimas de segundos ???, pero es un avance :), por cierto modifique el código que esta arriba por si quiere ver como queda.
(https://i.gyazo.com/92d0fd809e87b7d3871fcd3445beb5e5.gif)
Intenta de esta forma:
[gml]
///COLISION JUGADOR
for(i=0; i<4; i++)
{
id_bola=instance_create(objJugador.x, objJugador.y, obj_Bola_Orbital)
with(id_bola) {angulo_bola=90*other.i}
}
instance_destroy()
[/gml]
Cita de: 3dgeminis en Abril 30, 2017, 03:34:02 AM
Intenta de esta forma:
[gml]
///COLISION JUGADOR
for(i=0; i<4; i++)
{
id_bola=instance_create(objJugador.x, objJugador.y, obj_Bola_Orbital)
with(id_bola) {angulo_bola=90*other.i}
}
instance_destroy()
[/gml]
Tu codigo fue...
(https://i.gyazo.com/12ca294faa0b14829baf4341542eb10b.gif)
¡Excelente!