0

我正在使用 FlashDevelop 工具和 FlashPunk 游戏引擎在 actionscript 中制作游戏。我有一个设计师为我制作电影剪辑,以便使用 Flash CS3 放入这个游戏中。

我的问题是,当我将这些影片剪辑添加到我的游戏中时,它们的播放速度比应有的要快得多。是否需要在 CS3 中制作特定的帧速率剪辑或设置任何其他导出选项以使它们能够以正确的速度播放,或者这是我需要在我的代码中处理的事情。如果是后者,有人有什么建议吗?

编辑

我遇到的另一个问题是命令 movieClip.stop() 不起作用。在导出或编程方面有什么特别需要做的吗?

编辑

这是我在我的 swfs 中加载的方式:

public var movieClip:MovieClip = new MovieClip();
private var myLoader:Loader;

public function MyMovieClip(location:String)
{
    myLoader = new Loader();
    var myRequest:URLRequest = new URLRequest(location);
    myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
    myLoader.load(myRequest);
}

private function onCompleteHandler(loadEvent:Event):void
{
    movieClip = loadEvent.currentTarget.content;
    FP.stage.addChild(movieClip);
}

影片剪辑自动开始,我尝试使用以下命令停止剪辑:

movieClip.stop();

编辑

我决定废弃电影剪辑并用 spritesheets 替换它们,因为它们也很适合这个角色,而且我知道我在用它们做什么。感谢所有的帮助。

4

2 回答 2

2

检查 Flash 设置的帧速率,以及 FlashDevelop 设置的帧速率。前者在不选择任何内容时可以在属性窗口中找到,后者在 Project>Properties 下。Flash 中的帧率默认为 12,而 FlashDevelop 默认为 30,因此如果您不手动设置帧率,任何动画在 FlashDevelop 中的播放速度都会快得多。

于 2011-05-24T14:38:04.327 回答
0

我建议nextFrame手动执行:

var timer:Timer = new Timer(500, 60); //calling onTick function every 0,5 sec for 1 minute
timer.addEventListener(TimerEvent.TIMER, onTick); 
...
public function onTick(e: Event) {
  movieClip.nextFrame();
}

查看livedocs了解更多详情

于 2011-05-24T14:04:39.393 回答