Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Naitsabes0

Páginas: 1 2 3
31
No conozco la función action_potential_step pero imagino que los dos primeros parámetros que te piden son la x e y. Por eso en el objeto del Escudo, en su evento Step debería ser:
action_potential_step(objJugador.x,objJugador.y,room_height+room_width,false);

Corrígeme si estoy equivocado.

Gracias al cambio que me menciono logre hacer que el escudo aparezca, ademas estuve progresando aun mas en el problema de los proyectiles, por lo que tengo 2 problemas ahora en lugar de 3.

El problema todavía es que el obj_Bola_Orbital_Triple debería estar a 60 pixeles lejos del jugador rotando en dirección anti-horaria, mientras que el obj_Bola_Orbital_Estrella, debería estar a 120 pixeles lejos del jugador en dirección horaria, por lo que deben girar en dirección opuesta y tener distinto radio.

Esta es la diferencia que he logrado con el antes

y después.

Visualmente ha quedado mejor pero si los poderes orbitales todavía giran al mismo lado y tienen el mismo radio.

El código que he implementado hasta ahora es

obj_Copia_Bola_Orbital_Triple
create:
///Animacion
image_speed = 0.1;
image_blend = c_yellow;
image_alpha = 1;
step:
///Efecto estela
image_alpha -= 0.1;
if image_alpha < 0 instance_destroy();

obj_Bola_Orbital_Triple
create:
///Variables
radio_bola = 60; //distancia de las bolas
angulo_bola = 0;
step:
///Codigo de la bola
x = objJugador.x + cos(degtorad(angulo_bola)) * radio_bola;
y = objJugador.y - sin(degtorad(angulo_bola)) * radio_bola;
angulo_bola = angulo_bola + 6; //velocidad de las bolas

instance_create(x,y,obj_Copia_Bola_Orbital_Triple);
instance_create(xprevious,yprevious,obj_Copia_Bola_Orbital_Triple);

obj_Bola_Orbital_Estrella
create:
///Variables
radio_bola = 120; //distancia de las bolas
angulo_bola = 0;
step:
///Codigo de la bola
x = objJugador.x + cos(degtorad(angulo_bola)) * radio_bola;
y = objJugador.y - sin(degtorad(angulo_bola)) * radio_bola;
angulo_bola = angulo_bola - 6; //velocidad de las bolas

instance_create(x,y,obj_Copia_Bola_Orbital_Triple);
instance_create(xprevious,yprevious,obj_Copia_Bola_Orbital_Triple);

obj_Poder_Bola_Orbital_Triple
create:
///Animacion
image_speed = 0.1;
collisionobjJugador:
///Creacion de las bolas
for(i=0; i<3; i++) //cantidad de bolas
    {
     id_bola=instance_create(objJugador.x, objJugador.y, obj_Bola_Orbital_Triple)
     with(id_bola) {angulo_bola=120*other.i} // distancia de las bolas
    }
effect_create_above (ef_firework,x,y,1,c_purple);
audio_play_sound (snd_Laser,50,false);
instance_destroy()

obj_Poder_Bola_Orbital_Estrella
create:
///Animacion
image_speed = 0.1;
collisionobjJugador:
///Creacion de las bolas
for(i=0; i<5; i++) //cantidad de bolas
    {
     id_bola=instance_create(objJugador.x, objJugador.y, obj_Bola_Orbital_Triple)
     with(id_bola) {angulo_bola=72*other.i} // distancia de las bolas
    }
effect_create_above (ef_firework,x,y,1,c_purple);
audio_play_sound (snd_Laser,50,false);
instance_destroy()
Los siguientes usuarios dieron las gracias a este tema: Yuzo

Páginas: 1 2 3