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

Animacion Flash

Estas en el tema de Animacion Flash en el foro de Flash y Actionscript en Foros del Web. He estado tratando de darle animación a una imagen y bueno encontré un código q funciona bien, pero lo que yo deseo es que la ...
  #1 (permalink)  
Antiguo 20/05/2009, 08:59
 
Fecha de Ingreso: abril-2009
Mensajes: 4
Antigüedad: 15 años
Puntos: 0
Animacion Flash

He estado tratando de darle animación a una imagen y bueno encontré un código q funciona bien, pero lo que yo deseo es que la animación siga rotando osea que la animación de vuelta. Pero el código lo hace pero tiene un botón donde hay que dar click para q vuelva a empezar, no si me dejo entender... bueno hay les dejo el código

MovieClip.prototype.drawCircle = function (radius, x, y) {
var angleDelta = Math.PI / 4;
var ctrlDist = radius/Math.cos(angleDelta/2);
var angle = 0;
var rx, ry, ax, ay;
this.moveTo(x + radius, y);
for (var i = 0; i < 8; i++) {
angle += angleDelta;
rx = x + Math.cos(angle-(angleDelta/2))*(ctrlDist);
ry = y + Math.sin(angle-(angleDelta/2))*(ctrlDist);
ax = x + Math.cos(angle)*radius;
ay = y + Math.sin(angle)*radius;
this.curveTo(rx, ry, ax, ay);
}
}

MovieClip.prototype.enmascarar = function(radio){
this._alpha = 0;
var prof:Number = _root.getNextHighestDepth(); // Profundidad de los clips a usar
var ancho:Number = this._width; // Ancho del clip a enmascarar
var alto:Number = this._height; // Alto del clip a enmascarar
var cx:Number = Math.floor(ancho/(radio*2))+2; // Número de círculos por fila
var cy:Number = Math.floor(alto/radio)+1; // Número de círculos por columna
var cant:Number = cx * cy+cx; // Cantidad total de círculos
var destino:MovieClip = this; // Identificador del clip
_root.createEmptyMovieClip("maskareitor",prof); // Creamos el clip de la máscara
prof++; // Profundidad más
var x:Number = 0 // Columna q le toca a cada círculo
var y:Number=1 // Fila que le toca a cada círculo
var d:MovieClip; // Identificador del círculo
var control:Number = 0;
diagonal = 0, posDiag = 1;
for(i=1;i<(cant+1);i++){ // Bucle de creación de los círculos
_root.maskareitor.createEmptyMovieClip("circulo" + i,prof); // Creamos el clip vacío
d = _root.maskareitor["circulo" + i]; // Identificador del círculo actual
d._x = x; // Calculamos la posición X
d._y = radio*(y-1); // Calculamos la posición Y
d.i = i; // Asignamos el número

// Fórmulas para controlar el orden de aparición
d.orden = diagonal+posDiag;
posDiag++;
if(posDiag%(cx) == 0){
posDiag = 1;
diagonal +=0.5;
}
// d.orden = random(cant); <-- para hacerlos aleatorios
//--------------------------------------------------------

// POSICIONAMIENTO----------------------------------------
if(y%2!=0){
x+=(radio*2);
if(i%(cx)==0 && i!=0){
x=-radio;
y++;
}
}else{
x+=(radio*2);
if(i%(cx)==0){
x = 0;
y++;
}
}
//---------------------------------------------------------
//---------------------------------------------------------
d.beginFill(0xFF0000,100); // Dibujamos el círculo
d.drawCircle(radio,0,0);
d.endFill();
prof++;
d._xscale = 0; // Lo escalamos a 0
d._yscale = 0;
d.tiempo = 0; // Temporizador
d.onEnterFrame = function(){
if(this.tiempo == this.orden){ // Si le toca agrandarse
if(this._xscale <100){
this._xscale += (101-this._xscale)/7;
this._yscale = this._xscale;
}else{
delete this.onEnterFrame;
control +=100;
if(control == (cant*100)){
_root.maskareitor.removeMovieClip(); // Borra la máscara madre
destino.setMask(null); // Quita máscara
//trace("fin");
}
}
}else{
this.tiempo +=0.5;
}
}

}
this.setMask(_root.maskareitor);
this._alpha = 100;
}
c1.enmascarar(17);
btnRepetir.onRelease = function(){
if(!isNaN(radiorr)){
if(radiorr>=1){
_root.c1.enmascarar(Number(radiorr));
}
}
}


Espero me puedan ayudar... les agradeceria muxo.. soy nueva en el foro y tambien en flash y actionscript....
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 13:24.