Comunidad de diseño web y desarrollo en internet online

Ayuda en hittest en Mc creado dinamicamente

Citar            
MensajeEscrito el 19 Sep 2010 02:42 am
hola quisiera que me ayuden con un problemillo que se me a planteado,
bueno el caso es que estoy realizando un pequeño projecto flash que trata de un juego rpg (Bleach)
hasta ahora he podido solucionar los inconvenientes pero hace dias estoy trancado con con algo.
La cosa es asi yo creo un Mc dinamicamente con atach pero se me presentan 2 problemas
1º No he logrado asignarle las propieddades _x _y
2º no logro hacer que mi player coliciones con el
bueno aca va el codigo que uso para crear el/los mc

Código ActionScript :

// I.A Enemigos n1
function eligeEnemigo() 
{var hollows_01:MovieClip = this.attachMovie("hollows_01","hollows",100)}

eligeEnemigo()
hollows._x = 200; hollows._y = 150

hollows.onEnterFrame = function()
{
 a= mcPlayer1._x - hollows._x
 b= mcPlayer1._y - hollows._y
 c = Math.sqrt((a * a) + (b * b))
 angulo = -Math.atan2 (a, b) / (Math.PI / 180) + 180;
   
if((hollows._x < mcPlayer1._x)&& (c > 200))   {hollows._x+=8}

if((hollows._x > mcPlayer1._x)&&(c > 200))   {hollows._x-=8}      

if((hollows._y < mcPlayer1._y)&&(c> 200))   {hollows._y+=8}

if((hollows._y > mcPlayer1._y)&&(c>200))   {hollows._y-=8}   

if (b >50){hollows.gotoAndStop(1)}
   else{hollows.gotoAndStop(2)}
//Ahoro cuando ataca
ceroX =hollows._x
ceroY =hollows._y - 16
pro=100
if (c < 130)
//function dispara()
   {   
var Cero:MovieClip = this.attachMovie("cero","cero",pro) 
      pro++
   }
Cero._rotation = -Math.atan2 (a, b) / (Math.PI / 180)
while(Cero.hitTest(mcPlayer1._x,mcPlayer1._y)){gotoAndStop(1);}
)

//Esto es solo para visualizar los numeros y ver cuanto le tengo q dar a los arreglos

texto.text = hollows._x
texto_1.text = mcPlayer1._x
restX.text = Math.round(a)
restY.text =Math.round(b)
ang.text =Math.round(angulo)
restT.text = Math.round(c)
}

cabe decir que lo pongo en un .as y lo llamo con #include
bien este seria el codigo que uso para q colicione

Código :

while(cero.hitTest(mc._x+puntoDer-2,mc._y+puntoBajo/2,true))
{mc._x--;mc.dx=0;ene_01-=10}

bueo gracias de antemano

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 20 Sep 2010 07:48 pm
Para darle posición pásale un objeto como 4to

this.attachMovie("hollows_01","hollows",100, {_x:100, _y:100})

Usualmente el hitTest es lo primero de que se hecha mano, pero depende la velocidad del movimiento casi siempre falla porque la detección debería ser muy exacta (y aumentar los FPS no siempre es la solución)
Lo del while es peligroso, traza a ver si se está ejecutando

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Sep 2010 09:46 pm
que otros metodos de detectar coliciones hay sin ser hitest, trace y se cumple si

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 23 Sep 2010 02:25 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Sep 2010 03:40 pm
Esta muy bueno voy a probarlo, pero creo que cambiare mi sistema de batalla a una por turnos :( por que es complicado
usar esos metodos en formas q nos sean redondas ni cuadradas

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

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