gpt4 book ai didi

performance - Actionscript 3 如何一次移动多个对象而没有延迟

转载 作者:行者123 更新时间:2023-12-04 04:44:18 24 4
gpt4 key购买 nike

我有一个简单的问题。
我正在使用 actionscript 3.0 和 Adob​​e Flash Professional cs6 来制作游戏。我想让它保持简单、干净且不卡顿,但对于我的游戏,我需要许多(10-30)个影片剪辑同时在屏幕上以不同的方式移动。我想对 Event.ENTER_FRAME 事件使用基于时间的动画,但我不知道是否让每个人(因为它们都是可以做到这一点的父类(super class)所固有的)影片剪辑跟踪自己的时间并自行移动这样,或者让管理器类跟踪时间,然后将时间作为参数调用所有影片剪辑的函数。我想知道到底哪个更快。

最佳答案

为了补充上面链接的好答案,您应该仔细考虑和计划您的游戏中哪些组件最需要关注和优化。试图优化每个方面将变得极其繁琐且难以管理。除此之外,某些类型的优化不能同时发生(例如,您通常不能同时优化速度和内存消耗,因为改进一个会降低另一个)。

例如——如果你知道你的游戏将在屏幕上发生很多事情(很多图形和效果),那么你应该认真考虑一个专注于渲染性能的库,比如 Starling ,它利用较新的 Stage3D API 极大地提高了绘图速度。

如果在另一个示例中,您的游戏需要在对象之间进行大量测量并实现光线转换和寻路等功能,那么您应该考虑如何为您的游戏构建一个可以最有效地运行这些算法的网格。

至于清洁度,特别是当您提到 Event.ENTER_FRAME 时,您应该只在游戏的主类(或类似的处理程序类)中为此事件实现一个处理程序。您的实际游戏对象应该列在此类的数组中,并且 enterFrame 处理程序应该遍历该数组并在每个对象上调用一个函数,即 update()或类似。

关于performance - Actionscript 3 如何一次移动多个对象而没有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18433063/

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