gpt4 book ai didi

libgdx - 在具有巨大世界的游戏中正确使用scene2d的舞台

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

如果整个“游戏世界”比视口(viewport)宽数千倍,并且如果我想使用 scene2d 来管理游戏对象为 Actor s,我应该创建与整个世界一样宽的 Stage 对象,还是应该创建 Stage是当前视口(viewport)周围的某个区域,而不是整个世界?
换句话说,Stage更大的宽度和高度本身会消耗更多的内存,即使我只在它的一个小的视口(viewport)大小的部分渲染对象?

最佳答案

我想你误解了 Stage 到底是什么是。舞台本身并没有真正的尺寸。您没有指定宽度或高度或 Stage ,您只需指定视口(viewport)的宽度和高度。视口(viewport)就像一个窗口,它只显示你世界的一部分,也就是场景。一个 Stage是一个 2D 场景图,它会随着您的 Actors 而“增长” .您拥有的 Actor 越多,您的 Stage 就越大(在内存方面),但这并不取决于您的 Actor 的实际分布范围。如果它们分布得很远,而您只显示整个 Stage 的一小部分,它将被处理得非常高效,因为一个场景图分割了这个巨大的空间,以便能够非常快速地决定是忽略某个 Actor,还是将其绘制在 Screen 上。

这意味着 Stage实际上正是您在这种情况下所需要的,并且您可能不会有任何问题,FPS 和内存方面。当然,如果您的 Stage是视口(viewport)大小的 1000 倍,并且您自己知道某些 Actor 不会很快显示,那么暂时不要将它们添加到舞台上可能是有意义的。

关于libgdx - 在具有巨大世界的游戏中正确使用scene2d的舞台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19699101/

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