既然你說你已經準備好使用AS3,這裏就是解決方案。
我假設你有一個單獨的影片剪輯,其中包含放置在主時間軸/舞臺上的蜘蛛動畫。
1.將您的MovieClip放置在舞臺上,併爲其指定實例名稱「spiders」。
2.inside此MovieClip的,第一框架上把這個代碼(它會處理revesing動畫)
import flash.events.Event;
stop();
var _dir:int = 1;
addEventListener(Event.ENTER_FRAME, onEF);
function onEF(e:Event):void
{
getNextAnimationFrame();
}
function getNextAnimationFrame():void
{
var frameNum:int = currentFrame + _dir;
if (frameNum < 1 || frameNum > totalFrames)
{
removeEventListener(Event.ENTER_FRAME, onEF);
}
frameNum = Math.max(1, Math.min(totalFrames,frameNum));
gotoAndStop(frameNum);
}
function changeDirection($dir:int):void
{
_dir = $dir;
removeEventListener(Event.ENTER_FRAME, onEF);
addEventListener(Event.ENTER_FRAME, onEF);
}
3。在主時間軸(第一幀)把這段代碼:
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
var timer:Timer = new Timer(60 * 1000, 1);
timer.start();
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTime);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
function onTime(e:TimerEvent):void
{
trace("it's time");
spiders.changeDirection(1);
}
function onMove(e:MouseEvent):void
{
timer.reset();
timer.start();
spiders.changeDirection(-1);
}
這將有可能處理鼠標,定時器和動畫爲一體的代碼,但是它的建造方法,現在是一種 OOP的,如果在某個時候您決定正確構建它,將這個代碼'重寫'爲單獨的類將非常容易。
Actionscript 2是一種古老的..你是積極的你不想使用Actionscript 3? – evilpenguin
我刪除了Adobe Flex標記,因爲Flex已經在ActionScript 3中構建,並且已經從版本2開始.Flex 2版本的Flex是一個服務器端產品,其成本很高(每個CPU> 10K美元)。也;在Flash Pro中使用Flex非常困難。如果你是初學者,只是在學習;你爲什麼要用ActionSCript 2,6年前的所有意圖和目的已經過時了? – JeffryHouser
好吧,因爲我與動作腳本2一起工作,爲什麼我問,想要學習使用動作腳本3來做到這一點,但如何在動作腳本3中做到這一點? –