Junio 08, 2010, 12:43:57 AM Ultima modificación: Junio 08, 2010, 01:37:42 AM por pesteling
cual es el codigo que se usa para que un enemigo no te dispare cuando hay una muralla entre la trallectoria de la bala y el jugador, mi juego es un shoter mirado desde arriba. me ayudan porfavor  :'(
Poisoned City (Beta de combate):


                 
La ayuda, se agradece;
El esfuerzo, se valora.

#1 Junio 08, 2010, 12:54:35 AM Ultima modificación: Junio 08, 2010, 01:05:01 AM por soccer2008
Te voy a dar unas ideas ya que no puedo usar el gm por ahora:

Puedes medir la distancia del enenmigo con el muro (para esto usas distance_object).

Otra opci?n ser?a condicionar los lados del muro en cuesti?n x ejemplo:


Los lados del muro lo sacamos en x y en y, lo cual nos lleva al siguiente c?digo:


/////condici?n para la forma horizontal (lado izq del muro)////////////
if(enemigo.x<muro.x)
{
  if((muro.x+sprite_width)<player.x)
  {
      ////esto significa q est? al derecho del muro y al otro lado del muro est? el enemigo.
   }

   else{
     ///sino est? a lado del enemigo XD XD XD
   }
}

///condici?n para la forma horizontal (lado derecho del muro)////////////
else
{
   if((player.x<muro.x)
  {
      ////esto significa q el player est? a la izquierda del muro y el enemigo a la derecha.
   }

   else{
     ///sino est? a lado del enemigo XD XD XD
   }
}
//////////////////////////////////////////////////////////////

Las mismas condiciones aplicas para [b]y[/b], espero q se haya entendido y te sea de utilidad XD XD XD






Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

mm.. creo que quedo igual, quiero que no dispare cuando este al otro lado de la abitacion, porque se ve mui falso  XD
Poisoned City (Beta de combate):


                 
La ayuda, se agradece;
El esfuerzo, se valora.

Cita de: pesteling en Junio 08, 2010, 01:15:00 AM
mm.. creo que quedo igual, quiero que no dispare cuando este al otro lado de la abitacion, porque se ve mui falso  XD

Pues creo q te equivocas amigo, revisa bien el c?digo y asigna una variable x ejemplo:

/////condici?n para la forma horizontal (lado izq del muro)////////////
if(enemigo.x<muro.x)
{
   if((muro.x+sprite_width)<player.x)
   {
       ////esto significa q est? al derecho del muro y al otro lado del muro est? el enemigo.
      disparar=0;
    }

    else{
      ///sino est? a lado del enemigo XD XD XD
       disparar=1;
    }
}

///condici?n para la forma horizontal (lado derecho del muro)////////////
else
{
    if((player.x<muro.x)
   {
       ////esto significa q el player est? a la izquierda del muro y el enemigo a la derecha.
      disparar=0;
    }

    else{
      ///sino est? a lado del enemigo XD XD XD
      disparar=1;
    }
}
//////////////////////////////////////////////////////////////



lo mismo aplicas para y...saludos ;) ;) ;)
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

oka porfin mi game no se ve tan falso kjjkajkajajjka gracias amigo te pasate ahora no dispara xuando esta al otro lado del mura XD
Poisoned City (Beta de combate):


                 
La ayuda, se agradece;
El esfuerzo, se valora.

me alegro q te haya podido ayudar XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)