unityにおけるランダム生成について
unityでゲームを作ろうとしているsimと申します。
いわゆる落ちものパズルを作りたく思い、用意した17種のブロックから一つをランダム生成するC#スクリプトを書こうとしているのですが、以下のコードを実行するとarray index is out of rangeが出てしまいます。配列の長さをLength+1にしても同様です。
どのように変更したら正常に動作するか、ご教授いただけないでしょうか。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BlockGenerator : MonoBehaviour {
public GameObject[] Blocks;
float delta=0;
float span=1.0f;
float speed=-0.03f;
public void SetParameter(float speed,float span){
this.speed = speed;
this.span = span;
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
this.delta += Time.deltaTime;
if (this.delta > this.span) {
this.delta = 0;
GameObject Block;
Blocks = GameObject.FindGameObjectsWithTag ("Block");
int dice = Random.Range (0, Blocks.Length);
Block = Instantiate (Blocks [dice]) as GameObject;
Block.transform.position = new Vector3 (0, 8, 0);
Block.GetComponent<BlockController> ().dropSpeed = this.speed;
}
}
}