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

Autor Tema: ¿Como creo un enemigo tipo dron y que este solamente gire el arma?  (Leído 958 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado royer11

Respuesta #15 en: Octubre 12, 2017, 12:12:17 am
 :-[  si, en esa parte es donde tengo dificultades, el sprite no cambia y solamente se que queda estatico y con el sprite de caminando
« última modificación: Octubre 12, 2017, 12:13:57 am por royer11 »

 


Desconectado NiuWeb

  • Flota de Justicia Particular.
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 2825
  • Mensajes: 1.697
  • Agradecido: 141 veces
  • Sexo: Masculino
  • Rock anthem for saving the world.
    • Ver Perfil
Respuesta #16 en: Octubre 12, 2017, 12:19:10 am
Vale, xD. Cuando el enemigo esté a X distancia del jugador, le detenemos y hacemos que cambie al sprite de ataque en la dirección en que esté, ¿verdad?
var donde = oPlayer.x - x; //Calculamos la distancia horizontal entre el player y el enemigo
//oPlayer es el nombre del jugador
if(abs(donde) >= 26) //Si la distancia es menor que 26
{
    donde = sign(donde); //Obtenemos la dirección en la que debe mirar (1: derecha, -1: izquierda)
    hspeed = 0; //Detenemos al enemigo
    if(donde == 1) //Si debe mirar a la derecha
        sprite_index = sAtacando_derecha; //Mira a la derecha
    else //De lo contrario
        sprite_index = sAtacando_izquierda; //Mira a la izquierda
}
else //De lo contrario
{
    hspeed = choose(-1.3, 1.3); //Andar a la derecha o a la izquierda aleatoriamente.
}

El tiempo era tu aliado, humano, pero te ha abandonado.
Los Forerunners han regresado, esta tumba ahora es tuya.

-Ur-Didacta.


BA:STFW&RTFM
 


Desconectado royer11

Respuesta #17 en: Octubre 12, 2017, 12:52:13 am
el codigo funciona, cuando comienzo el juego, el enemigo ya esta con el sprite de atake "he tratado de cambiar los valores de distancia ", ahora cuando el jugador esta a la derecha del personaje, cambia el sprite del enemigo a caminar y el problema es que no se mueve "esta estático",

--> si el obj del personaje "jugador" esta a la izquierda del enemigo, este enemigo esta estático con el sprite de atake y ahora cuando muevo al personaje unos 3 pasos mas del enemigo,ahora el enemigo cambia repentinamente de sprite a caminar pero como dije, esta estático.

 


Desconectado NiuWeb

  • Flota de Justicia Particular.
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 2825
  • Mensajes: 1.697
  • Agradecido: 141 veces
  • Sexo: Masculino
  • Rock anthem for saving the world.
    • Ver Perfil
Respuesta #18 en: Octubre 12, 2017, 01:00:42 am
xDXdXd, ¡ando medio dormido! Lo siento, fue mi error.
var donde = oPlayer.x - x; //Calculamos la distancia horizontal entre el player y el enemigo
//oPlayer es el nombre del jugador
if(abs(donde) <= 26) //Si la distancia es menor que 26 (ÉSTE ERA EL PRIMER ERROR)
{
    donde = sign(donde); //Obtenemos la dirección en la que debe mirar (1: derecha, -1: izquierda)
    hspeed = 0; //Detenemos al enemigo
    if(donde == 1) //Si debe mirar a la derecha
        sprite_index = sAtacando_derecha; //Mira a la derecha
    else //De lo contrario
        sprite_index = sAtacando_izquierda; //Mira a la izquierda
}
else //De lo contrario
{
    hspeed = choose(-1.3, 1.3); //Andar a la derecha o a la izquierda aleatoriamente.
    if(sign(hspeed) == 1) //FALTABA ESTO PARA REGRESAR AL SPRITE DE CAMINAR
        sprite_index = sCaminando_derecha;
    else
        sprite_index = sCaminando_izquierda;
}
A ver si ésta si sirve, xD.

El tiempo era tu aliado, humano, pero te ha abandonado.
Los Forerunners han regresado, esta tumba ahora es tuya.

-Ur-Didacta.


BA:STFW&RTFM
 


Desconectado royer11

Respuesta #19 en: Octubre 12, 2017, 01:10:04 am
eres un crack, mil disculpas por haberte entretenido, bueno el enemigo funciona, ahora cuando me acerco cambia de sprite al modo atake, solamente que
hspeed = choose(-1.3, 1.3
, creo que hace que se mueva sin una direccion fija , quiero decir que cambia sprite de izquierda a derecha y no tiene direccion, no avanza

 


Desconectado NiuWeb

  • Flota de Justicia Particular.
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 2825
  • Mensajes: 1.697
  • Agradecido: 141 veces
  • Sexo: Masculino
  • Rock anthem for saving the world.
    • Ver Perfil
Respuesta #20 en: Octubre 12, 2017, 01:18:52 am
var donde = oPlayer.x - x; //Calculamos la distancia horizontal entre el player y el enemigo
//oPlayer es el nombre del jugador
if(abs(donde) <= 26) //Si la distancia es menor que 26 (ÉSTE ERA EL PRIMER ERROR)
{
    donde = sign(donde); //Obtenemos la dirección en la que debe mirar (1: derecha, -1: izquierda)
    hspeed = 0; //Detenemos al enemigo
    if(donde == 1) //Si debe mirar a la derecha
        sprite_index = sAtacando_derecha; //Mira a la derecha
    else //De lo contrario
        sprite_index = sAtacando_izquierda; //Mira a la izquierda
}
else //De lo contrario
{
    if(hspeed == 0)
    {
        hspeed = choose(-1.3, 1.3); //Andar a la derecha o a la izquierda aleatoriamente.
        if(sign(hspeed) == 1) //FALTABA ESTO PARA REGRESAR AL SPRITE DE CAMINAR
            sprite_index = sCaminando_derecha;
        else
            sprite_index = sCaminando_izquierda;
    }
}

El tiempo era tu aliado, humano, pero te ha abandonado.
Los Forerunners han regresado, esta tumba ahora es tuya.

-Ur-Didacta.


BA:STFW&RTFM
 
Los siguientes usuarios dieron las gracias a este tema: royer11


Desconectado royer11

Respuesta #21 en: Octubre 12, 2017, 01:25:24 am
 :D :D :D :D :D 

muchas gracias  NiuWeb    , me encuentro realmente agradecido, ahora esta perfecto, muchas gracias nuevamente