puedes utilizar estas funciones
si estas trabajando con AS2
seria asi
Código PHP:
function barcos(objeto:Object,velocidad:Number,Inicio:Boolean,TamanoOla:Number,Onda:Number,LimeteIz:Number,LimiteDer:Number) {
var mcControl:MovieClip = this.createEmptyMovieClip("mcControl_"+objeto._name, this.getNextHighestDepth());
var angulo:Number=0;
var dir:Boolean=Inicio;
var origen:Number=objeto._y
mcControl.onEnterFrame = function() {
//controla la dir del objecto
if (dir) {
objeto._x += velocidad;
} else {
objeto._x -= velocidad;
}
//Limites
//este es el limite de la derecha
if (objeto._x>LimiteDer) {
dir = false;
}
//este es el limite de la izquierda
if (objeto._x<LimeteIz) {
dir = true;
}
objeto._y = (Math.sin(angulo*Math.PI/180)*TamanoOla)+origen;
angulo+=Onda
};
}
la activaría para cada barco de esta forma
barcos(MiBarco1,10,true,20,10,0,800)
barcos(MiBarco2,10,false,20,10,0,800)
el true y el false indican la dirección
si lo quieres para AS3
Código PHP:
function barcos(objeto:MovieClip,velocidad:Number,Inicio:Boolean,TamanoOla:Number,Onda:Number,LimeteIz:Number,LimiteDer:Number) {
var mcControl = objeto;
mcControl.angulo=0;
mcControl.dir=Inicio;
mcControl.origen=objeto.y;
mcControl.velocidad=velocidad
mcControl.LimiteDer=LimiteDer
mcControl.LimeteIz=LimeteIz
mcControl.TamanoOla=TamanoOla
mcControl.Onda=Onda
mcControl.addEventListener(Event.ENTER_FRAME,ContolBarco);
}
function ContolBarco(event:Event):void {
//controla la dir del objecto
var oj=event.currentTarget;
if (oj.dir) {
oj.x += oj.velocidad;
} else {
oj.x -= oj.velocidad;
}
//Limites
//este es el limite de la derecha
if (oj.x>oj.LimiteDer) {
oj.dir = false;
}
//este es el limite de la izquierda
if (oj.x<oj.LimeteIz) {
oj.dir = true;
}
oj.y= (Math.sin(oj.angulo*Math.PI/180)*oj.TamanoOla)+oj.origen;
oj.angulo+=oj.Onda;
}
barcos(MiBarco,10,true,20,10,0,800);
un ejemplo de como quedaría
http://crea-flash.com/ejemplos/?dir=...=600&ancho=800