首页 > 解决方案 > 在游戏中实例化太多预制件会使其变慢

问题描述

所以对于我的项目,我需要准确地实例化一个预制件 921 次。所有实例化的预制件最终都会变成一个垂直滚动视图,因此使用可以通过它们。问题是,这会使游戏变得非常缓慢。我如何以一种方式编码它,首先只有 10 个预制件被实例化,其余的只有在用户已经滚动到屏幕底部时才被实例化?

标签: c#unity3d

解决方案


是的,将 921 个东西添加到 UI ScrollView 通常不是一个好计划。

但是,正如您所建议的,有一种方法可以解决此问题。我建议查看 ScrollView 的文档(附在此处)。一个名为scrollOffset返回Vector2当前滚动位置的属性。由于您有一个垂直ScrollView的大小,因此用户滚动了“多远”。

假设您列表中的每个元素的任意高度为 50(此处仅提供一个示例数字)。实例化你的 10 个列表项,每次scrollOffset增加 50 的数量级,调用一个方法来实例化另一个列表项。


推荐阅读