mmm eso es de lo primero que debes de aprender como flash interpreta los ejes X,Y, a diferencia del plano cartesiano que comunmente usamos en la escuela, los cuadratantes superiores son positivos, en flash esos cuadrantes estan invertidos ,vamos que si aumentas en Y disminuye la posicion vertical de un objeto en Flash y viceversa , teniendo eso en cuenta debes evaluar el limite es decir una restriccion de coordenadas , por ejemplo si quieres que tu objeto al revasar lo que mide el alto de tu escena
y regrese a la posicion 0 en y deberia ser asi:
Código ActionScript :
package
{
import flash.display.MovieClip;
import flash.events.Event;
public class Mar extends MovieClip
{
private var _vy:Number = 0;
private var _limiteY:Number;
public function Mar(vy:Number, limiteY:Number)
{
_vy = vy;
_limiteY = limiteY;
addEventListener(Event.ENTER_FRAME,handleEnterFrame);
}
private function handleEnterFrame(e:Event):void
{
this.y += _vy;
if(this.y > _limiteY)
{
this.y = 0 - this.height;
}
}
}
}
y lo usas en una clase main o el frame 1 de tu stage :
Código ActionScript :
var mar:Mar = new Mar(5,stage.stageHeight);
addChild(mar);
la clase ahora recibe 2 argumentos que son la velocidad en [Y] , que quieres que incremente , y el limite en [Y,] este caso le digo que el limite sea el alto de stage, checa el condicional "si el valor de la propiedad Y es mayor que el limite , entonces resetamos el valor a 0 y le restamos el alto del objeto , esto se debe a que si dejaramos 0 el objeto apareceria de golpe en el (0,0) es por eso que se resta lo que mide el alto del objeto, para que el efecto paresca que biene de una pocision mas arriba en el ejeY...bueno creo que eso es todo.
Jonathan