Flash 使用Event.ENTER\u FRAME或movieclip闪烁?

Flash 使用Event.ENTER\u FRAME或movieclip闪烁?,flash,actionscript-3,events,mouseevent,Flash,Actionscript 3,Events,Mouseevent,我想创建一个无止境的循环,8个项目以圆形移动。当您滚动每个项目时,它将停止移动,您应该能够单击它 我不知道应该使用什么,我应该使用Event.ENTER_FRAME还是圆形应该出现在电影剪辑中,这样当鼠标悬停在事件上时,它将停止移动?我是新的行动脚本,请建议 编辑: 哦,是的,我在AS3中对所有内容进行编码,包括运动、对象等。类似于一个新类的东西是的,您可以使用Event.ENTER_FRAME触发一个函数来设置项目的动画。 您可以定义一个“速度”变量来确定运动速度。鼠标悬停时,将速度变量值设置

我想创建一个无止境的循环,8个项目以圆形移动。当您滚动每个项目时,它将停止移动,您应该能够单击它

我不知道应该使用什么,我应该使用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个项目添加到舞台上。谢谢,最好的答案!!我想我的问题现在应该解决了