Flash,使用Event.ENTER_FRAME或movieclip?

时间:2010-08-20 04:38:25

标签: flash actionscript-3 events mouseevent

我想创建一个无限循环,8个项目以圆形移动。当您翻转每个项目时,它将停止移动,您应该可以单击它。

我不知道应该使用什么,如果我使用Event.ENTER_FRAME或圆形形状应该在影片剪辑中,那么当鼠标悬停在事件上时,它会停止移动吗?我是动作脚本的新手,请指教。

编辑:

哦,是的,我在AS3中编写了所有内容,包括动作,对象等。像新课程一样

1 个答案:

答案 0 :(得分:2)

是的,您可以使用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;
        }