Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/04/2009, 09:39
Avatar de Lynxcraft
Lynxcraft
 
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 17 años
Puntos: 51
Respuesta: Barquitas movidas en forma de ola

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._namethis.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.+= oj.velocidad;
    } else {
        
oj.-= 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
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft