Comunidad de diseño web y desarrollo en internet online

ayuda as3

Citar            
MensajeEscrito el 21 May 2010 01:29 am
hola que tal, miren tengo un personaje y un enemigo en pantalla, me gustaria que el enemigo cuando el heroe se mueva, lo siga por toda la pantalla, osea que el enemigo siga al heroe, como podria hacer? gracias

Por eze_ps

30 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 May 2010 07:14 am
Los pasos serían
1.-Añades un listener al "enemigo" de tipo ENTER_FRAME
2.-En la función acercas el enemigo al heroe

Falta saber si el enemigo se mueve sólo en horizontal/vertical, o también se puede mover en diagonal o simplemente se mueve en línea recta hacia el héroe
También deberíamos considerar a qué velocidad se mueve.
Según sea el movimiento, la función cambiará

Vamos, si tenemos dos MCs "enemigo" y "heroe". Voy a suponer que se mueve a "velocidad constante"

Código ActionScript :

//Si se mueve en línea recta, podemos usar Math.atan2(y,x)
enemigo.addEventListener(Events.ENTER_FRAME, perseguirHeroe)
function perseguirHeroe(e:Event){
     var ang_rad=Math.atan2((enemigo.y-heroe.y),(enemigo.y-heroe.y))
     enemigo.x+=10*Math.cos(ang_rad)
     enemigo.y+=10*Math.sin(ang_rad)
}

Código ActionScript :

//Si se mueve sólo horizontal y verticalmente
enemigo.addEventListener(Events.ENTER_FRAME, perseguirHeroe)
function perseguirHeroe(e:Event){
     var inc_x=(heroe.x>enemigo.x) ? 1 :((heroe.x<enemigo.x) ? -1:0 ) 
     var inc_y=(heroe.y>enemigo.y) ? 1 :((heroe.y<enemigo.y) ? -1:0 ) 
     enemigo.x+=10*inc_x
     enemigo.y+=10*inc_y
}

NOTA:El código NO lo he probado, lo he hecho a modo de que veas cómo hacerlo
NOTA2:Falta, en el código, comprobar cuándo está cerca.

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 May 2010 09:35 pm
gracias , me ah funcionado

Por eze_ps

30 de clabLevel



 

chrome

 

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