我正在为第一场比赛创建一个关卡选择场景。在互联网上看到这里和那里后,我意识到水平选择只是游戏的另一个场景(如果我要拧,请纠正我)。
我的游戏将有1000多个级别。所以我的关卡选择场景会很长(垂直)。我认为加载这个漫长的场景会很慢(计划使用几个动画和图像......等等)。
此外我观察到一些游戏如TwoDots和“愤怒的小鸟动作”,不加载所有级别,而是加载当前的Plus 20或30级别,以及当前减去20或30级别。当我们向上滚动时,它会加载新的级别并卸载以前的级别。
在下面的图片中,我滚动到之前的水平,在显示30个前面的水平之后,它会在底部进行一个小的加载(见下图,底部有一个加载条,它将加载前30个级别并卸载前30),然后加载更多级别。
要做到这一点应该做些什么?
谢谢
答案 0 :(得分:1)
你可以为你的关卡使用多个场景,然后在玩家希望通过SceneManager.LoadSceneAsync("SceneName", LoadSceneMode.Additive)看到它们时加载这些场景。除此之外,获得滚动性能非常重要。滚动视图将创建大量重绘,您可能需要实际移动相机以创建很少的开销。使用滚动视图时,请确保使用rectMask2D而不是蒙版,以便轻松剔除不在播放器视图中的所有内容(将创建较少的绘制调用)。
还可以考虑激活和停用游戏对象,或者甚至拥有可以代表地图的游戏对象池。使用对象池,您将确保不会产生任何垃圾。