Mar*_*rty 5 flash performance rendering actionscript-3
Flash如何处理场外元素?
显然Flash实际上并没有渲染它们(因为它们不会出现在屏幕上的任何地方),但是渲染它们的过程仍然存在,如果元素在屏幕上的话,会减慢我的游戏速度吗?
或者Flash是否会智能地忽略不属于可渲染区域的元素?
我应该手动管理移除对象DisplayList并将其重新添加为退出并进入舞台,或者这是否无关紧要?
是的,他们正在减慢你的游戏速度。
在我的一项早期实验中,我开发了一款横向卷轴游戏,其中有许多 NPC 分散在地图上,并非所有 NPC 都在同一个屏幕上可见。我仍然需要计算一些东西,但它们不在屏幕上。当我在不相关的情况下将它们从显示列表中删除时(通过简单地检查它们与“相机”的 X 关系),性能明显更好。再说一次,我不是在谈论可能附加到它们的附加代码和事件,只是影片剪辑的简单图形子项。
但根据我的经验,最佳实践是用位图绘制对象。当然,如果您对游戏已经太深入了,这可能无关紧要,但如果您有时间投入,这是在 2D 游戏方面充分利用 AS3 的最佳方法之一。我在 8bitrocket 中找到了一些有关位图和 AS3 的最佳教程 http://www.8bitrocket.com/books/the-essential-guide-to-flash-games/如果您愿意,我可以详细说明该主题,但我认为我在这里偏离主题。