Foros del Web » Creando para Internet » Flash y Actionscript »

Barquitas movidas en forma de ola

Estas en el tema de Barquitas movidas en forma de ola en el foro de Flash y Actionscript en Foros del Web. Hey tengo un logotipo esho y voy a hacer una pagina en flash, me gustaria animar las siluetas de pequeñas barquitas q salen en el, ...
  #1 (permalink)  
Antiguo 27/04/2009, 08:01
 
Fecha de Ingreso: abril-2008
Mensajes: 143
Antigüedad: 16 años
Puntos: 0
Barquitas movidas en forma de ola

Hey

tengo un logotipo esho y voy a hacer una pagina en flash, me gustaria animar las siluetas de pequeñas barquitas q salen en el, como si las barcas fueran mecidas por olas...

¿como logro tal efecto? gracias pichas
__________________
www.davidhs.es diseño Grafico y Web
  #2 (permalink)  
Antiguo 27/04/2009, 09:39
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
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
  #3 (permalink)  
Antiguo 27/04/2009, 10:37
 
Fecha de Ingreso: abril-2008
Mensajes: 143
Antigüedad: 16 años
Puntos: 0
Respuesta: Barquitas movidas en forma de ola

hey

muchas gracias pero no es exactamente lo que busco, lo que yo quiero es que la barca quede en un sitio quieta pq esta parada con un anclay tenga ese pequeño movimiento de vaiven al pasar las olas.

Muchas gracias colega
__________________
www.davidhs.es diseño Grafico y Web
  #4 (permalink)  
Antiguo 27/04/2009, 10:54
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: Barquitas movidas en forma de ola

elimina lo que lo hace mover seria esto

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() {
        
objeto._y = (Math.sin(angulo*Math.PI/180)*TamanoOla)+origen;
        
angulo+=Onda
    
};


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 {
    
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); 
con esto te tendría que servir XDXD
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:17.