にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

Unityで学ぶプログラミング TIPS(2)せっかく作った壁をぶっ壊してみる

いわゆる前回の補足です。

前回の記事ですが、細かいところを間違えていて申し
訳ないです。気がつきましたでしょうか?直しません
けど(笑

www.nsnq.tech

プログラムの解説

あんま、いらないかもですが。今回のキモの部分だけ。
インスタンティエイトはprefabを増殖させる命令です。

//生成(オブジェクト名、位置、回転)

Instantiate(a, new Vector3(i * 2.0f, k * 1.0f, 1.0f), Quaternion.identity);

位置の部分はおなじみの(x,y,z)です。今回は増分×幅つう
ことです。

あと、Quaternion.identityですが、回転させんでいいよ。という
ことです。増やした結果を回転させたいのであれば。ここで指定す
るそうです。どんな場面だろ。

ちょっと改造してみた

floorの幅を全部5くらいに。

上にボールを置いてみました。ボールとprefabのBoxには
rigidBody入れてあります。

f:id:koharuwest:20190402230254p:plain

これが・・・

f:id:koharuwest:20190402230410p:plain

どっかーん!

地面と接触したら、消えるようにしますか

プログラムを書きます。

BoxControlとでも名前をつけて、Scriptを作ります。
で、Boxにアタッチしておきましょう。

f:id:koharuwest:20190402231100p:plain
Void OnCollisionEnterですが。
衝突時の挙動を示しています。衝突した物体の値を
bに返します。

もし、ぶつかった物体の名前がfloorだったら、
自らを消せ。2秒後に!という意味です。

f:id:koharuwest:20190402231349p:plain

崩れた積み木が床に接触して消えていきます。

面白いですね!

f:id:koharuwest:20190402231458p:plain