实例化一个prefab然后给每个prefab设置不同的变量

问题描述 投票:0回答:0

我正在尝试为我的每个预制件实例化时在“int”变量上设置一个特殊 ID。

我目前正在使用 2 个脚本。我的预制处理程序脚本和游戏处理程序脚本。我在游戏处理程序脚本中设置变量并使用 random.range 生成随机数,我还有一个函数来确保我的预制件的 ID 不相同。这行得通。现在,我正在尝试将游戏处理程序脚本中的值(即 prefabIdOne、prefabIdTwo、prefabIdThree)分配给预制处理程序脚本中的 prefabId 变量。

我曾尝试使用

Prefab.GetComponent<prefabHandler>
但是我认为这将针对所有预制件,因此不会起作用。我也尝试过以游戏对象而不是脚本为目标,但是因为我认为这也不起作用。

完整的代码在这里:

设置变量:

 horseSixRaceId = Random.Range(1 , 7);

参考脚本:

_HorseHandler.GetComponent<HorseHandler>();

为实例化预制件寻找游戏对象并尝试设置预制件 ID:

horseOne = GameObject.Find("Horse (1)(Clone)");
        HorseHandler.raceId = horseOneRaceId;

任何帮助将不胜感激:)

c# unity3d
© www.soinside.com 2019 - 2024. All rights reserved.