1

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

我在 Flash Builder 中使用 Flex 项目完成了很多 as3 编程,但我对 MovieClips 的工作原理一无所知。

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

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

4

2 回答 2

1

试试精灵表。它是 AS3 中动画的最佳解决方案,实现起来也非常简单。对于更改绘图,有 Timer 和 ENTER_FRAME 事件来执行此操作。

于 2012-07-03T07:09:51.300 回答
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);
        }
    }

感谢你的帮助!

于 2012-07-03T08:21:27.650 回答