Unity、C#初心者です。
現在、アイテムのランダムは位置を使用したく、
「Vectorの配列にランダムな座標を格納して、
それをゲームオブジェクト配列のtransform.positionに代入する。」
ということを試みておりましたが、参照が得られないというエラーばかり出てしまいました。
座標の代入の方法として、
Vevtor3 myPos; myPos.x=3.0f; transform.position=myPos;
上記の方法を配列でも同じことができるのではないかと考え
C#ここに言語を入力C#
1void Start () { 2 3 chest =new GameObject[dropMax]; 4 dropPos = new Vector3[dropMax] ;//配置座標 5 dropRotate = new Quaternion[dropMax];// 配置方向 6 7 int i = 0; 8 while (i < dropMax) 9 { 10 dropPos[i].x = Random.Range(-4.0f, 4.0f); 11 dropPos[i].z = Random.Range(-0.5f, 0.5f); 12 dropRotate[i].y = Random.Range(-50.0f, 50.0f); 13 chest[i].transform.position = dropPos[i]; 14 chest[i].transform.rotation= dropRotate[i]; 15 ++i; 16 } 17} 18
としてみたのですが、
chest[i].transform.position = dropPos[i];
chest[i].transform.rotation= dropRotate[i];
の箇所で、「NullReferenceException」のエラーが出てしまいました。
原因について、ご教授いただければと考えております。
また、今回のアイテムについては同種のアイテムなので、
位置だけをランダムに配置したいと考えています。
どうぞ、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/31 17:52