在纯as3中模拟MovieClip

时间:2012-07-02 18:55:49

标签: actionscript-3 flash movieclip prezi

我正在寻找制作Flash影片剪辑的方法(动画,就像使用Flash Pro CS创建的那样),但纯粹是在as3中 - 所以我可以将它们导入Prezi。

我在Flash Builder中使用Flex项目完成了很多as3编程,而且我没有关于MovieClip如何工作的背景知识。

我已经尝试过扩展一个MovieClip类并尝试将动画基于Timers,这失败了所以我尝试使用ENTER_FRAME事件(因为flash动画基于帧 - 所以我想......)。但所有这一切都失败了,只显示构造函数中绘制的图形 - 没有动画发生。 (正如我在第一段中所写,我正在测试将swf导入Prezi,在浏览器中打开它按预期工作)

有什么办法吗?喜欢听特定的事件吗?

2 个答案:

答案 0 :(得分:1)

尝试使用精灵表。它是AS3中动画的最佳解决方案,也非常简单易用。为了更改绘图,有Timer和ENTER_FRAME事件来执行此操作。

答案 1 :(得分:1)

有趣的事情发生了。我想向您展示我正在尝试的示例代码(我已经尝试使用ENTER_FRAME进行Sprite),但这不起作用。我偶然发现了一个解决方案。看起来你需要在第一帧中绘制一些东西,否则其他帧将无法工作(至少在Prezi中)。

所以这是工作代码:

    public class PreziTest extends Sprite{
        private var radius:uint = 10;

        public function PreziTest(){
            addEventListener(Event.ENTER_FRAME, onEnterFrame);

            onEnterFrame(null); // WITHOUT THIS IT WON'T WORK - YOU NEED TO DRAW SOMTHING IN THE FIRST FRAME
        }

        private function onEnterFrame(event:Event):void{
            radius += 10;

            if(radius > 200)
                radius = 10;

            graphics.clear();
            graphics.beginFill(0xff0000);
            graphics.drawCircle(radius, radius, radius);
        }
    }

感谢您的帮助!