gpt4 book ai didi

actionscript-3 - ActionScript 3 : Smooth programmatic animation

转载 作者:行者123 更新时间:2023-12-04 06:43:14 25 4
gpt4 key购买 nike

我想尽可能流畅地为 MoviveClips/Sprite 对象设置动画。然而,目前唯一有效的方法是将移动代码放入 EnterFrame 事件处理程序中。这种方法有一个问题:当特定机器上的帧率低于所需的帧率时,整个游戏就会变慢。我希望能够以与时间无关的方式做到这一点。

最佳答案

有两种方法可以在 Flash 播放器中执行程序化动画。您已经通过使用 onEnterFrame 指出的第一个。但是,您可能已经注意到,要获得流畅的动画效果,您需要提高电影的整体帧速率。这样做还会在 SWF 运行的整个时间段内增加 CPU 负载。这不是你一直想要的。

进行程序化动画的另一种方法是使用计时器。在计时器处理程序中,可以调用名为 updateAfterEvent 的函数。这将独立于您为 SWF 设置的 FPS 更新屏幕。因此,使用计时器可以让您在 Flash 播放器中执行流畅的动画,而不会增加 SWF 的整体帧速率。

大约两年前,我开始为 Flash 创建我自己的补间库(因为我对当时可用的补间库感到沮丧)。我以 Coretween 的名义发布了它并且这个库让你可以为每个补间选择你喜欢的动画类型。在文档页面上,我给出了 example基于帧和基于时间的动画之间的区别。该页面上的示例 SWF 以 12 fps 运行,但正如您所看到的,下部圆圈补间平滑得多,因为它由一个计时器控制,该计时器以 60 fps 滴答滴答,并根据 SWF 帧速率更新屏幕。请记住,即使计时器以 60 fps 计时,实际上 Flash Player 也永远无法达到此帧速率。但是,它会尝试达到此帧速率,从而使整体动画更加流畅。

不幸的是,直到现在我还不能发布我的库的 1.0 版本,但据我所知它非常稳定。非常欢迎您以任何您认为合适的方式使用它。我已经在许多商业作品中使用过 Coretween,包括我们为 StGeorge 所做的这个作品。银行在澳大利亚。

关于actionscript-3 - ActionScript 3 : Smooth programmatic animation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com