2016-07-30 7 views
0
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 

ランダムの後にポイントをタイプすると、ランダム:ランダム。 は私だけプロパティの範囲が1つのランダムクラスに存在しないのはなぜですか?

に等しく、も参照していると私は、例えばランダムの変数作成する場合:

Random _random; 

をそれから私は_randomと入力します。 私はより多くの武器を手に入れますが、レンジは獲得しません。

+0

私の[RandomGenerator](https://github.com/chanibal/RandomGenerator)ユーティリティのちょうど恥知らずなプラグを、それはあなたの問題を解決しますインスタンス化可能な 'Random'クラスを持ち、値のランダム性をより良く制御します。 –

答えて

1

をしたい場合を除きあなたはUnityEngineとSystem名前空間の両方を使用しています。どちらの名前空間にもランダムクラスが含まれているため、Visual Studio/Unityはどちらを使いたいのかわかりません。あなたが使用したいランダムを指定するには、あなたは、単にこれを行うだろう:

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

なぜ、プロパティの範囲が1つのランダムクラスに存在しないのですか?

ランダム_random; _random.Rand ...

RangeRandomクラスでstatic機能です。静的関数を使用するためにクラスのインスタンスを作成する必要はありません。静的関数を直接呼び出します。 `(あなたのコードでやっている)ので、あなたはフル名前空間を使用する必要があります。あなたは、システムを使用してRandom' is an ambiguous reference between System.Random」とUnityEngine.Random' error then that's because you haveを取得している場合はRandom.Range(0f,3f);

これはそれを行う必要がありますユニティランダム機能にアクセスする。

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

は、あなたが名前空間を明確にする必要がありUnityEngine.Random.Range

を書きます。

は、.NETランダム(その場合には他の回答を見て)

関連する問題