用户升级时如何更改主要对象?

时间:2019-05-04 15:30:57

标签: c# unity3d game-development

我有一个被玩家摧毁的物体,当用户摧毁整个物体时,他完成了关卡。所以我想加载下一个对象(也许是预制的?)而无需更改场景。如果必须加载下一个对象,则最好的方法是,例如,如果它们具有较高的编号以表示更高级别,例如Cube1,Cube2 ...

但是为了限制代码中的干扰,最好这样做,以便所有引用都通过将包含所有对象的标记进行引用,或者有更好的方法吗?我使用以下代码自己加载了新对象,但是我在谈论计数点,对象的运动等。

    GameObject instance = Instantiate(Resources.Load("Cubes2", typeof(GameObject))) as GameObject;

如果以下每个对象都具有相同的标记,如何依次简化其加载?如果将玩家提升到3级,则必须加载Cube3,如何在不为100个对象中的每一个添加100条连续代码的情况下连续更改此代码以进行加载?

1 个答案:

答案 0 :(得分:1)

考虑到您的level3的构建索引为3,则可以尝试使用buildIndex。否则,您可以使用变量来存储当前级别号,并使用“多维数据集”字符串对其进行修饰。

int LevelNum;
GameObject instance = Instantiate(Resources.Load("Cubes"+ LevelNum, typeof(GameObject))) as GameObject;

您可以在升级玩家等级后立即更改levelNum。

让我知道是否有帮助。

编辑:删除了分号。