利用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 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!