Comunidad de diseño web y desarrollo en internet online

Problemas con un juego Al estilo de Zombies Ate My Neigborhs

Citar            
MensajeEscrito el 10 Feb 2009 04:36 pm
Hola compadres, de nuevo paseando por aqui, solicito de nuevo su ayuda, :wink:

Ando realizando un juego en flash, inspirado en el ya viejo juego: Zombies Ate My Neigborhs, creo que asi se escribe, ya tengo todo listo, el unico detalle que tengo es en cuanto a los enemigos, ya tengo el AS donde ellos siguen al movieclip del personaje principal, pero lo que me causa un poco de lio, es ponerle en cada escenario, paredes para que los enemigos no se "pasen" como fantastas sobre el area, les dejo el fla que estoy desarrollando, ahi veran mejor de que les estoy hablando.

http://lab.zombiestudio.com.mx/test.fla

Trate de usar este AS en el movieclip del enemigo:

Código :

onClipEvent (enterFrame) {
   if (this.body.hitTest(_parent.wall1)) {
      this._y -= 1;
   } else {
      this._y += 0;
   }
   if (this.body.hitTest(_parent.wall2)) {
      this._y += 1;
   } else {
      this._y -= 0;
   }
   if (this.body.hitTest(_parent.wall3)) {
      this._x += 1;
   } else {
      this._x -= 0;
   }
   if (this.body.hitTest(_parent.wall4)) {
      this._x -= 1;
   } else {
      this._x += 0;
   }
}


wall1, wall2, wall3 y wall4 son movieclips, este codigo hace lo que necesito, pero para cada escenario tendria que usar miles de "walls". lo cual haria muchisimas lineas de codigo por cada enemigo, y haria todo un show con eso... hay forma de resumir todo este codigo?

Gracias y Saludos a todos, espero que me puedan echar la mano.

Por dsintek

6 de clabLevel



 

Guadalajara

firefox
Citar            
MensajeEscrito el 10 Feb 2009 05:19 pm
Creo que ya se discutió esto mismo en cantidad de POST, para una detección certera tienes que usar un sistema de Tiles, no hitTest

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 10 Feb 2009 07:29 pm
Wow picandole al codigo se me ocurrio poner:

Código :

onClipEvent (enterFrame) {
   for( var i:Number = 1; i <= 8; i++ )  
   if (this.body.hitTest(_parent["wall"+i])) {
      this._y -= 1;
   } else {
      this._y += 0;
   }
}


Y wuala, funciono¡¡¡

Gracias por tu respuesta Solisarg :wink:

Por dsintek

6 de clabLevel



 

Guadalajara

firefox
Citar            
MensajeEscrito el 10 Feb 2009 07:55 pm
talvez, estaria mejor asi

Código ActionScript :

onClipEvent (enterFrame) {
   for( var i:Number = 1; i <= 8; i++ )  
   if (this.body.hitTest(_parent["wall"+i])) {
      if((this._y)<(_parent["wall"+i])){
         this._y -= 1;}
         else { this._y += 1;}
   } else {
      this._y += 0;
   }
}



lo que comprobaria si esta arriba o abajo de la pared por que de tu modo atravieza la pared si esta por abajo el de ella

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.