2016-05-03 4 views
0

こんにちは他のスクリプトで配列を設定し、助けを必要とするはどのように団結し、イム使用して配列にマルチプレイヤーシューティングゲームを作っています

私の状況私は、ランダムな配列を選択するアンボクシングシステムを作るし、その後にそれを設定したいですクラスの配列リストのリストは助けてください。 ランダムな配列を選択するかどうか教えてください:Classes [ランダム]; とも私は別のスクリプトから、アレイを設定する方法を知っておく必要があり

using UnityEngine; 
using System.Collections; 

public class SpawnNew : MonoBehaviour 
{ 
    public GameObject[] Classes; 
    public GameObject player; 
    public Transform[] spawnPoints; 
    public Camera spawnCam; 
    public AudioListener spawnListener; 
    public bool spawned = false; 


    void ClassList(){ 

     Classes = new GameObject[10]; 
    } 

    void OnGUI() 
    { 
     if (Network.isServer || Network.isClient) 
     { 
      if (!spawned) 
      { 
       if (GUI.Button(new Rect(Screen.width/10 - 50, Screen.height/10 - 25, 100, 50), "Spawn")) 
       { 
        SpawnPlayer(); 
       } 
      } 
     } 
    } 

    void SpawnPlayer() 
    { 
     spawned = true; 
     int random = Random.Range(0, spawnPoints.Length); 
     Network.Instantiate(player, spawnPoints[random].position, spawnPoints[random].rotation, 0); 
     spawned = true; 
     spawnCam.enabled = false; 
     spawnListener.enabled = false; 
     spawned = true; 
    } 

    public void Die() 
    { 
     Screen.lockCursor = false; 
     spawned = false; 
     spawnCam.enabled = true; 
     spawnListener.enabled = true; 
    } 
} 
+0

のような別のスクリプト内からのアレイ/メソッドにアクセスすることができます私はあなたがめったに/何らかの理由ユニティで配列を使用することはありません –

+0

欲しいものを理解didntの。 List <> – Fattie

答えて

0

すべての配列の最初は初期化されていません。 SpawnPlayerメソッドを呼び出す前に配列にデータが設定されていることを確認する必要があります。そうでない場合は、NullReferenceExceptionが発生します。
はい、このint random = Random.Range(0, yourArray.Length);は、配列内のランダムなインデックスを提供します。 あなたはこの

申し訳ありません
GameObject yourObject = GameObject.Find("GameObjectNameThatHasYourScriptAttachedToIt"); 
if(yourObject !=null){ 
    yourObject.GetComponent<SpawnNew>().Classes = someOtherArray; 
    // or if you want to access the method 
    // yourObject.GetComponent<SpawnNew>().SpawnPlayer(); 
} 
+1

mb彼はエディタ – LumbusterTick

+0

でそれらを初期化しましたが、確かにそれが設定されていることを確認するために傷つくことはありません:) –

+0

私はなぜダウン投票...これに何か間違っている溶液? –

関連する問題