【发布时间】: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 是一个用于随机的内置类