为什么属性范围不存在于Random类中?

时间:2016-07-30 19:50:50

标签: c# unity3d unityscript unity5

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之后输入点像:随机。 我只有Equals和ReferenceEquals

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

Random _random;

然后我输入_random。 我得到了更多的东西,但没有范围。

3 个答案:

答案 0 :(得分:1)

  

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

     

随机_随机;   _random.Rand ...

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

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

如果您收到Random' is an ambiguous reference between System.Random&#39;和UnityEngine.Random' error then that's because you have使用System;`(您在代码中执行过),因此必须使用完整命名空间来访问Unity随机函数。

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

答案 1 :(得分:1)

编写UnityEngine.Random.Range

您必须澄清命名空间。

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

答案 2 :(得分:1)

您正在使用UnityEngine和System命名空间。这两个命名空间都包含 Random 类,因此Visual Studio / Unity不知道您要使用哪个。要指定要使用的随机数,您只需执行此操作:

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