Flash跟角度相关的属性有rotation,rotationX,rotationY,很好的运用这几个属性,能实现一些有趣的效果:
1、新建一fla文件RotationEfffect.fla
2、新建一as文件RotationEfffect.as
RotationEfffect.as代码如下:
package
{
import flash.display.GradientType;
import flash.display.BlendMode;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
[SWF(width = 900, height = 600, frameRate = 50)]
public class RotationEfffect extends Sprite
{
private var container:Sprite;
public function RotationEfffect()
{
container = new Sprite();
container.x = 450;
container.y = 300;
addChild(container);
container.rotationY = 90;
for(var i : int = 0 ;i < 48; i++)
{
var s : Shape = new Shape();
//s.graphics.beginFill((0xcc0000 + (i % 16) * 0x10000),.6);
s.graphics.beginFill(Math.random()*0xffffff,.6);
s.graphics.drawCircle(Math.floor(i / 3) * 15, i, 25);
//s.graphics.drawRect(Math.floor(i / 3) * 15 - 25, i - 25, 50,50);
s.graphics.endFill();
container.addChild(s);
}
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(event : Event) : void
{
for(var i : int = 0 ;i < 48;i++)
{
var s : Shape = container.getChildAt(i) as Shape;
s.rotation += (i / 6) * .7;
}
container.rotation+=.7;
container.rotationY += .3;
}
}
}
Ctrl+Enter测试效果如下: