【问题标题】:C# Random.Next() Does not Exist? [duplicate]C# Random.Next() 不存在? [复制]
【发布时间】:2021-11-18 21:50:30
【问题描述】:

我目前正在尝试在 Unity 3D 中制作一些敌人生成代码。这是我的代码:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class GameControllerScript : MonoBehaviour
    {
        public float amountKilled = 0f;
        private float timer = 5f;
        private float startTime = 5f;
        public GameObject EnemyPrefab;
        private readonly Random rnd = new Random();
        void Update()
        {
            timer -= Time.deltaTime;
            if (timer <= 0)
            {
                timer = startTime - 0.1f;
                startTime -= 0.1f;
                int spawnNum = rnd.Next(1, 5);
                Instantiate(EnemyPrefab, GameObject.Find("SpawnPoint" + spawnNum.ToString()).GetComponent<Transform>().position, new Quaternion(0,0,0,0));
            }
        }
    }

但我收到一条错误消息,内容如下:

“随机”不包含“下一个”的定义,并且找不到接受第一个“随机”类型参数的可访问扩展方法“下一个”(您是否缺少 using 指令或程序集引用? )

我多次仔细检查了我的代码并阅读了多个关于 Random 的教程,但仍然对为什么会发生这种情况感到困惑。

任何帮助将不胜感激。

【问题讨论】:

  • 使用系统; // 添加这个?
  • @urlreader 哦,谢谢,这有帮助。
  • 不带using System; 的另一种选择是使用int spawnNum = Random.Range(1,5); from Unity's Random](docs.unity3d.com/ScriptReference/Random.Range.html)
  • 嗯,unity haca 是一个用于随机的内置类

标签: c# unity3d random


【解决方案1】:

而不是导入所有系统。可以导入

使用随机 = System.Random;

【讨论】:

    猜你喜欢
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 2013-05-28
    • 2011-02-08
    • 1970-01-01
    相关资源
    最近更新 更多