Orbitar un MovieClip
Con unas nociones básicas de trigonometría podemos conseguir este vistoso efecto:
Un MovieCLip que gira alrededor de otro MovieCLip siguiendo una orbita.
function orbitar(clip1, clip2, distancia, velocidad) { angulo = (angulo == undefined) ? 0 : angulo += velocidad; angulo = (angulo>=360) ? 0 : angulo; anguloradianes = angulo*Math.PI/180; clip1._x = clip2._x+Math.round(distancia*Math.cos(anguloradianes)); clip1._y = clip2._y+Math.round(distancia*Math.sin(anguloradianes)); } this.onEnterFrame = function() { orbitar(bola1, bola2, 50, 5); }; |
La única dificultad es calcular la posición X y Y del MovieClip que orbita siguiendo el perimetro de un circulo en el que el MovieClip 2 es el centro:
Para ello utilizaremos las formulas trigonométricas seno y coseno.
b = c * cos(α)
a = c * sen(α)
Las funciones trigonométricas en flash funcionan con grados radianes con lo que tendremos que transformar los grados sexagesimales (360º)
anguloradianes = angulo*Math.PI/180
Compártelo:
Visto 8.612 veces
excelente ejemplo… me ayudó muchisimo par a un efecto que queria dar a un menu, muchas grax
Un saludo desde México
Muy bueno… pero uniendo temas.. ¿cómo harÃas por ejemplo para que esa esfera que orbita se detuviese en intervalos regulares y luego prosigiera su orbita?
Gracias!
[…] Esta funcion la encontre en http://www.codigoactionscript.org/orbitar-un-movieclip/ […]