既然你说你已经准备好使用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中做到这一点? –