2016-04-17 8 views
1

各要素の整数を保持するスタティック・アレイを1つずつ作成しようとしていますが、テスト時にはそのアレイにアクセスする各オブジェクトに対して新しい配列があるようです。スタティック・アレイ・ユニティ

static var tiles: float[]; 
 

 

 
function Start() { 
 
    tiles = new float[6]; 
 
    tiles[1] = 1; 
 
    Random(); 
 
} 
 

 
function Random() { 
 
    i = Random.Range(1, 6); 
 
    if (i == 1) { 
 
    tiles[1] ++; 
 
    } else if (i == 2) { 
 
    tiles[2] ++; 
 
    print(tiles[2]); 
 
    } else if (i == 3) { 
 
    tiles[3] ++; 
 
    } else if (i == 4) { 
 
    tiles[4] ++; 
 
    } else if (i == 5) { 
 
    tiles[5] ++; 
 
    } else if (i == 6) { 
 
    tiles[6] ++; 
 
    } 
 

 
}

+0

によって生成された同じ静的な配列ではなく、答えを持っていますが、あなたはこれをその全体 'if'文を置き換えることができます'タイル[i] ++ ' – EmilioPelaez

答えて

1

あなたは値をチェックしている場合は?このスクリプトがシーンにいくつのオブジェクトに添付されていますか?スクリプトは複数のオブジェクトにアタッチされており、Random()は複数回実行されているようです。 Ex。

  • Obj1と - >スタート() - >移入静的アレイ
  • OBJ2 - >スタート() - > 再移入静的アレイ
  • OBJ3 - >スタート() - 最終的には>再移入静的 配列

、すべてのオブジェクトはOBJ3

+0

ええ、問題は彼が毎回 'tiles = new float [6];のようにこれを実行しているようです。 – EmilioPelaez

+0

まったく.. Start()は、スクリプトがインストールされているシーン内のすべてのGameObjectに対して実行されます –