Flash 使用Event.ENTER\u FRAME或movieclip闪烁?
我想创建一个无止境的循环,8个项目以圆形移动。当您滚动每个项目时,它将停止移动,您应该能够单击它 我不知道应该使用什么,我应该使用Event.ENTER_FRAME还是圆形应该出现在电影剪辑中,这样当鼠标悬停在事件上时,它将停止移动?我是新的行动脚本,请建议 编辑:Flash 使用Event.ENTER\u FRAME或movieclip闪烁?,flash,actionscript-3,events,mouseevent,Flash,Actionscript 3,Events,Mouseevent,我想创建一个无止境的循环,8个项目以圆形移动。当您滚动每个项目时,它将停止移动,您应该能够单击它 我不知道应该使用什么,我应该使用Event.ENTER_FRAME还是圆形应该出现在电影剪辑中,这样当鼠标悬停在事件上时,它将停止移动?我是新的行动脚本,请建议 编辑: 哦,是的,我在AS3中对所有内容进行编码,包括运动、对象等。类似于一个新类的东西是的,您可以使用Event.ENTER_FRAME触发一个函数来设置项目的动画。 您可以定义一个“速度”变量来确定运动速度。鼠标悬停时,将速度变量值设置
哦,是的,我在AS3中对所有内容进行编码,包括运动、对象等。类似于一个新类的东西是的,您可以使用Event.ENTER_FRAME触发一个函数来设置项目的动画。 您可以定义一个“速度”变量来确定运动速度。鼠标悬停时,将速度变量值设置为0,然后鼠标悬停时返回其原始值
var speed:Number = 10;
var item:MovieClip = new MovieClip();
item.addEventListener(Event.ENTER_FRAME , animateItem );
item.addEventListener(MouseEvent.MOUSE_OVER , mouseOverHandler );
item.addEventListener(MouseEvent.MOUSE_OUT , mouseOutHandler );
addChild( item );
private function animateItem(event:Event):void
{
motion( event.currentTarget );
}
private function motion(mc:MovieClip):void
{
//your motion code here using the speed variable
mc.rotation += speed // for instance;
}
private function mouseOverHandler(event:MouseEvent):void
{
speed = 0;
}
private function mouseOutHandler(event:MouseEvent):void
{
speed = 10;
}
嘿,谢谢你的回答。现在我遇到了这个问题,当我将鼠标移到item1上时,如何阻止所有项目移动?我是否需要删除所有项目的VentListener,并在鼠标移出时再次向其添加VentListener?这是一个OO概念吗?所有项目都应该停止移动,因为它们都应该侦听速度变量。这是一个简单的代码版本,实际上你可以将代码的第一部分放在一个循环中,以便将你的8个项目添加到舞台上。谢谢,最好的答案!!我想我的问题现在应该解决了