Acá está el ejemplo en AS2 y me funciona sin problemas,es una bola que cuando llega a x.550 invierte su velocidad horizontal y cuando llega a 0 la vuelve a invertir,o sea va de un lado hacia otro:
Código ActionScript :
onClipEvent(load)
{speedX = 5;}
onClipEvent(enterFrame)
{
this._x += speedX;
if (this._x >= 550) {speedX = -speedX;}
else if (this._x <= 0) {speedX = -speedX;}
}Acá en AS3 no me funciona,la bola sigue de largo:
Código ActionScript :
this.addEventListener(Event.ENTER_FRAME,mover_bola);
function mover_bola(e:Event)
{
var speedX:Number=5;
this.x+=speedX;
if (this.x >= 550) {speedX = -speedX;}
else if (this.x <= 0) {speedX = -speedX;}
}probé diferentes variaciones,lo máximo que logré es que cuando llega a 550 se quede en el lugar o retroceda 1 px o más segun lo que ponía y vuelva a avanzar.
Acá hay un ejemplo en el cual primero creé la variable dirección "dirx" y le asigno un valor según en que parte de la pantalla está (1 iría a la derecha 2 iría a la izquierda):
Código ActionScript :
this.addEventListener(Event.ENTER_FRAME,mover_bola);
function mover_bola(e:Event)
{
var dirx=Number;
if (this.x>=500) {dirx=2}
else if (this.x<=0) {dirx=1};
if (dirx==1){this.x=this.x+5}
else if (dirx==2){this.x=this.x-5};
}Quisiera saber como puedo hacerlo,cuál es la diferencia entre as2 y as3 que no me funciona,se ve que as3 es más estricto para chequear algunas cosas.
Saludos.
