我正在做一个关于交互,鼠标在屏幕上的项目,因此,我想通过使用Adobe Flash Pro和Action Script2来实现。 这是任务: - 一个简单的动画(例如:在屏幕上从上到下走动/跳跃的蜘蛛) - 一旦鼠标移动,动画将反转(所有蜘蛛动画将反转并隐藏回到屏幕顶部的位置)。 - 如果鼠标在60秒后没有移动,则动画将再次发生,直到鼠标再次在屏幕上移动(那些蜘蛛动画将再次发生)。
我创建了一个动画蜘蛛“电影剪辑”(蜘蛛动画向下) 1-我应该写什么脚本让动画反转? 2-我怎么能告诉Adobe我的鼠标被移动或者它没有移动,所以蜘蛛动画会发生还是反转?
顺便说一句,我是动作脚本2.0的初学者 我感谢任何建议和帮助*我也可以在动作脚本3中做到这一点 感谢。答案 0 :(得分:0)
哦,我的。 AS2:)
确定首先我认为如果您创建2个不同的动画会更容易。一个让蜘蛛走下去。另一个走了。可以反转MovieClip但我认为如果你是初学者,坚持基础。
你需要3个想法。
1)蜘蛛夹。往下走。 2)间隔(AS3中的定时器)
var interval:Number = setInterval(spidersComeOut, 60 * 1000);
3)鼠标移动监听器
root.onMouseMove = function()
{
//swap your spider clips
//move the spider up again
//reset the interval with clearInterval(interval) and restart it again.
}
这是鼠标移动的一个非常基本的处理程序。 希望这会对你有所帮助。这不是一个完整的解决方案。它不会开箱即用。
最后一件事。如果你是AS2的新手,我会建议你给as3一个机会。开始时比较困难,但是有更多的人愿意用as2来帮助解决AS3问题。
答案 1 :(得分:0)
既然你说你准备好在这里使用AS3就是解决方案。
我假设您有一个单独的影片剪辑,其中包含您放置在主时间轴/舞台上的蜘蛛动画。
1.将您的MovieClip放在舞台上,并为其指定实例名称“蜘蛛”。
2.在这个MovieClip中,在第一帧放置此代码(它将处理动画的重新设计)
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,如果在某些时候你决定正确构建它会非常容易将此代码“重写”为单独的类。