利用FLASH代码可以实现一些交互小动画,可以用于讲授中,这也是众所周知的,这里用AS3实现一个可以节制的电电扇的小动画。可以开关,并可以实现档级的切换。
本家儿要涉及的常识点:Timer计时器类,MouseEvents鼠标点击事务,影片剪辑用作按钮
这里用的是AnimateCC打开软件,新建AS3文档。
本身绘制或找一个电电扇的矢量素材。
将素材导入到舞台中。把扇叶零丁选择出来。
将扇叶转换为影片剪辑,注重注册点在中间位置。
设置扇叶影片剪辑的实例名为leaf_mc
接下来建造三个档级按钮和封闭开关。因为要显示当前档级,所以要利用影片剪辑看成按钮利用,这个前面的经验讲过了。每个按钮包含两帧,并在第一帧添加代码:stop();
0中若何将影片剪辑用作按钮版
建造好的按钮如下图所示,依次设置按钮的实例名从左到右,btn0,btn1,btn2,btn3
在本家儿时候轴加如下代码:
var isOn:Boolean=false;
var index:int=-1;
var timer:Timer=new Timer(20);
var ro:Number=3;
timer.addEventListener(TimerEvent.TIMER,UpdateRotation);
for(var i:int=0;i<4;i++)
{
this["btn"+i].addEventListener(MouseEvent.CLICK,ChangeLevel);
}
function ChangeLevel(e:MouseEvent):void
{
var obj:Object=e.currentTarget;
var t:int=int(obj.name.slice(3));
if(t==index)
{
ro=0;
index=-1;
timer.stop();
obj.gotoAndStop(1);
return;
}
if(index!=-1)
{
this["btn"+index].gotoAndStop(1);
}
if(t==3)
{
ro=0;
index=-1;
timer.stop();
}
else
{
ro=(t+1)*6;
index=t;
obj.gotoAndStop(2);
timer.start();
}
}
function UpdateRotation(e:TimerEvent):void
{
leaf_mc.rotation+=ro;
}
运行后就可以实现对电扇的节制了,在实际中电扇启动是有一个加快或减速的过程,代码更为复杂,这里就不具体会商了。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!