4. ゲームクリア判定の作成

前回までの作業がまだ済んでいない場合は、ブロック崩しの作成方法から前回までのチュートリアルを先に済ませてください。

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.TransformchildCount [Get]を選択
  • ノードの種類選択メニューからComputeを選択

GameObject.SetActiveノードの作成

  • Int Equalsノードの実行ポートをドラッグ&ドロップし、ノード作成メニューを開く
  • Membersタブを選択
  • 検索欄にGameObject SetActiveと入力
  • 一覧からUnityEngine.GameObjectSetActive(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に投稿する場合はこちら。