おとやすみ日記

ゲームプランナー、一児の父です。

【はじめてのUnity】ブロック崩しを作る[2]

 

【はじめてのUnity】ブロック崩しを作る[1] - otoyasumiの日記

 

上の、前回の記事に引き続きサンプルの作成。

今回もこちらの記事を参考にしました。

UNITY - Developer - はじめての Unity - 第2回 ゲームルールを構築しよう

・衝突すると消滅するブロックを配置する
・ボールがラケットより下のブロックに接触するとボールが破棄されるルールの実装
・OnCollisionEnterメソッドについて調べた。

実際に作ったものはこちら。(スマホ閲覧不可)

f:id:otoyasumi:20141022231441p:plain


■OnCollisionEnter(Collision)メソッド
 引数:接触対象のオブジェクト
 →ここで登場するのはRigidbodyかCollisionクラスかどっち?
  Collider同士では衝突イベントは発生しないらしい。
  どっちかはKenematicではないRigidbodyコンポーネントを含んでいる必要がある。
  ColliderとRigidbodyの違いは? ※Collider=衝突装置
  Kinematicってどういうこと?
  →物理演算の影響を受けるかどうか。Rigidbody.isKinematic = true;だと影響受けない。※Kinematic=運動学的な

 OnCollisionEnterメソッドはMonoBehaviourのメソッドとして定義されている。

■MonoBehaviourクラス
  MonoBehaviourは全てのスクリプトが派生する元となるベースクラスです。
   JavaScriptを使用時は自動的にMonoBehaviourから派生するけど、
   C#またはBooを使用時は明示的にMonoBehaviourから派生する必要がある。

 Destroyメソッド
  引数:gameObject、コンポーネントを実行したオブジェクト、つまり接触したブロックを削除する

//ボールが接触したとき
function OnCollisionEnter(collision: Collision){
     Destroy(gameObject);
}


■プレハブ化を学ぶ
 CreateEmptyで空のゲームオブジェクト作成してそれをフォルダのように使う。
  →空のゲームオブジェクトにも座標があり、内包したオブジェクトも
   親オブジェクトを移動させると一括移動できる。スケール情報も同様。親は0,0,0に配置しておくと良さげ。