无尽跑酷游戏随机激活单个难度层级技术求助
解决Unity无尽跑酷游戏随机激活单个难度层级的问题
你的问题出在所有难度层级的GameObject默认处于激活状态,当前代码只是激活了随机选中的那个,但没关闭其他已激活的对象,所以看起来全部都被激活了。
修正后的代码如下:
public GameObject[] difficulties; // Start is called before the first frame update void Start() { // 先遍历禁用所有难度层级 foreach (GameObject diff in difficulties) { diff.SetActive(false); } // 随机选取一个难度并激活 int randomIndex = Random.Range(0, difficulties.Length); difficulties[randomIndex].SetActive(true); }
额外提示:
- 不用特意在编辑器里把难度对象设为禁用,代码会先统一处理
- 务必在Inspector面板中把三个难度层级的GameObject正确拖进
difficulties数组里 - Unity的
Random.Range(min, max)是左闭右开区间,这里max用difficulties.Length刚好能覆盖数组的所有有效索引(对应难度1、2、3)
内容的提问来源于stack exchange,提问作者Waheed
相关产品推荐
相关产品推荐

