Comunidad de diseño web y desarrollo en internet online

problema con hit testing as3

Citar            
MensajeEscrito el 16 Dic 2009 12:39 pm
El codigo seria esté

Código ActionScript :

function enem(malox:Number,maloy:Number):void
{   
   var malo:MovieClip = new enemigo();
   malo.addEventListener(Event.ENTER_FRAME, actuMalo);
   escenario.addChild(malo);

   function actuMalo(event:Event):void {
      if(malo.hitTestObject(tiro))malo.gotoAndStop("5");
   }
   
}



function disparar()
{   
   
   var tiro:MovieClip = new bala();
   tiro.addEventListener(Event.ENTER_FRAME, movetiro);
   escenario.addChild(tiro);
   
   function movetiro(event:Event):void {
      tiro.x+=tiro.dirx;
      tiro.y+=tiro.diry;
   }

}

simplemente el hittest no funciona

si cambio esta linea

Código ActionScript :

if(malo.hitTestObject(tiro))malo.gotoAndStop("5");

por esta

Código ActionScript :

if(malo.hitTestObject(j1))malo.gotoAndStop("5");

funciona perfectamente cuando el jugador 1 toca el enemigo

alguien sabe porque puede fallar?

creo que tene algo que ver con que la funcion enem no sabe que existe tiro y que la funcion disparar no sabe que existe malo.

Por juanito1712

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Dic 2009 02:08 pm
Dado que tiro lo declaras como una variable local de la funcion disparar, enem no la ve, declara la variable en la línea de tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Dic 2009 03:03 pm
si pero si necesito que se cree una variable nueva cada vez que se pulse x boton y asignarle a cada instancia creada un enter frame no me queda mas remedio que declararla dentro de la funcion no?

Por juanito1712

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Dic 2009 03:04 pm
Es un problema de estructura que te llevará a otro esquema totalmente distinto, e incluso si permites que dispare seguido, ni siquiera usarás hitTest ... pero no quiero adelantarme tanto. Mirate en http://gotoAndPlay.it si encuentras algún tutorial al respecto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Dic 2009 03:20 pm
deacuerdo, me has asustado con el problema de estructura pero bueno le echare una ojeada

muchas gracias

Por juanito1712

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Dic 2009 03:21 pm
tremenda pagina por cierto... eso es una mina de oro jajaja muchisimas gracias

Por juanito1712

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Dic 2009 06:19 pm
parece que tengo una solucion a el problema pero..

Código ActionScript :

function disparar()
{   
      var tiro:MovieClip = new bala();
      tiro.addEventListener(Event.ENTER_FRAME, movetiro);
      escenario.addChild(tiro);
      bulletArray.push(tiro);

   function movetiro(event:Event):void {
      if(tiro.hitTestObject(balaMuere))removeChild(tiro);
   }
} 


el impacto lo detecta pero no consigo hacer desapaercer a tiro, no entiendo nada, cs3 me trae de cabeza

Por juanito1712

3 de clabLevel



 

chrome

 

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