为什么属性Range不存在于统一的Random类中

本文关键字:Random 类中 于统一 不存在 属性 Range 为什么 | 更新日期: 2023-09-27 17:59:30

using System;
using UnityEngine;
using System.Collections;
using UnityStandardAssets.Characters.ThirdPerson;
public class Multiple_objects : MonoBehaviour {
    public GameObject prefab;
    public GameObject[] gos;
    public int NumberOfObjects;
    private ThirdPersonCharacter[] thirdPersonCharacter;
    private Animator[] _animator;
    private int count = 0;
    void Awake()
    {
        Vector3 v3 = prefab.transform.position;
        _animator = new Animator[NumberOfObjects];
            gos = new GameObject[NumberOfObjects];
        for(int i = 0; i < gos.Length; i++)
        {
            count = count + 2;
            GameObject clone = (GameObject)Instantiate(prefab, Vector3.zero, Quaternion.identity);
            gos [i] = clone;
            gos [i].transform.position = new Vector3 (v3.x - count, v3.y, v3.z);
            _animator [i] = gos[i].GetComponent<Animator> ();
            Math.Round(Random

当我在Random后面键入点时,比如:Random。我只有Equals和ReferenceEquals

如果我创建一个随机变量,例如:

Random _random;

然后我键入_random。我得到了更多的属性,但没有范围。

为什么属性Range不存在于统一的Random类中

您同时使用UnityEngine和System命名空间。这两个名称空间都包含一个Random类,因此VisualStudio/Unity不知道要使用哪一个。要指定要使用的随机数,只需执行以下操作:

UnityEngine.Random.Range(0.0f, 5.0f);

写入UnityEngine.Random.Range

您必须澄清名称空间。

除非你想要.net Random(在这种情况下,看看另一个答案(

为什么属性Range不存在于统一的Random类中?

随机随机(_R(;_随机随机…

RangeRandom类中的static函数。您不需要创建类的实例就可以在其中使用静态函数。您可以直接调用静态函数。

这应该做到:Random.Range(0f,3f);

如果您正在使用System获取Random' is an ambiguous reference between System.Random和UnityEngine.Random' error then that's because you have`(这是您在代码中所做的(,因此您必须使用完整的命名空间来访问Unity随机函数。

UnityEngine.Random.Range(0f, 3f);