前回までの作業がまだ済んでいない場合は、ブロック崩しの作成方法から前回までのチュートリアルを先に済ませてください。
Blockオブジェクトがすべて破壊できた場合はゲームクリアとします。
BlockオブジェクトはBlocksオブジェクトの子にすべて配置していますので、Blocksオブジェクトの子オブジェクト数が0の場合にクリアとしましょう。
BlocksにLogic Behaviorの追加
- Blocksオブジェクトを選択
- InspectorウィンドウのAdd Componentボタンをクリック
- Logic Toolkit/Logic Behaviorを選択してLogic Behaviorコンポーネントを追加
- Logic BehaviorのEditボタンをクリックし、Logic Editorウィンドウを開く
BlocksのLogic Behaviorを編集
Int Equalsノードの作成
- Startノードを削除
- グラフ上をクリックしフォーカスがある状態で
Spaceキー
を押し、ノード作成メニューを開く - Scriptsタブを選択
- 検索欄に
Int Equals
と入力 - 一覧からInt Equals (Event)を選択
Transform.childCountノードの作成
- Int EqualsノードのValue 1フィールドの入力ポートをドラッグ&ドロップし、ノード作成メニューを開く
- Membersタブを選択
- 検索欄に
Transform childCount
と入力 - 一覧から
UnityEngine.Transform
のchildCount [Get]を選択 - ノードの種類選択メニューからComputeを選択
GameObject.SetActiveノードの作成
- Int Equalsノードの実行ポートをドラッグ&ドロップし、ノード作成メニューを開く
- Membersタブを選択
- 検索欄に
GameObject SetActive
と入力 - 一覧から
UnityEngine.GameObject
のSetActive(bool value)を選択 - ノードの種類選択メニューからActionを選択
GameObject.SetActiveノードの編集
- TargetフィールドにCanvas/Game Clearオブジェクトを設定
以下のいずれかの方法で設定できます。- SelfをValueに変更し、オブジェクトフィールドでCanvas/Game Clearオブジェクトを設定
- Selfのまま、HierarchyウィンドウからCanvas/Game ClearオブジェクトをTargetフィールドにドラッグ&ドロップ
- Valueフィールドをチェック
クリア判定の挙動確認
ここまで作成するとグラフは以下のようになっています。
プレイ開始してクリア判定の挙動を確認します。
- 全てのブロックにボールを当てて破壊すると、Game Clearオブジェクトがアクティブになることを確認
次回
次回は5. ゲームオーバー判定の作成を行います。
完了を投稿
ここまでの作業完了をSNSに投稿する場合はこちら。