この度よろしくお願いします。今現在Unityの2Dでテトリスを作って、リファレンスの扱いについて学ぼうとしているのですが、テトリスの一つの処理でテトリミノのランダム生成というものがあって、そのランダム生成を扱ったプログラムを記述しようと検索をかけてどのようなリファレンスを利用するのかを調べたところ。以下のサイトを参考にさせていただきました。
using System.Collections; using System.Collections.Generic; using System.Globalization; using UnityEngine; public class MinoScript : MonoBehaviour { public GameObject[] Mino; void Start() { int number = Random.Range(0, Mino.Length); Instantiate(Mino[number], transform.position + new Vector2(-12.0f, 6.615f).transform.rotation = Quaternion.identity); }
number変数は流用しているのですが、ここがエラー出ていてintで何とかしました。(のちにサイトのコメント欄で気が付きました。)私が調べた認識ではInstantiateはオブジェクトのクローンつまりコピーを生成するときに使うと知ったのですが、上記のコードのようにクローンの対象をランダム生成されるオブジェクト、そしてポジションをちょうどテトリミノが出てくるところに設定して、回転のところで躓いてます。回転をさせるつもりはないのQuaternion.identityをつけたのですが、transfromのところが赤波線が出ます。
調べていく中で、結構思ったのがこのInstantiateにはVector3が使われていることでした。そもそもこのInstantiate関数をUnity2Dで使うのはよくないのですか?誰か教えてください(´;ω;`)
unityの質問は初めてなので、わかりづらいことがあるかもしれません、その時は随時質問をお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。