チュートリアル: 壊せるブロックと足場を作ろう!(ギミックオブジェクト/すり抜け足場/コースプラットフォーム)

このチュートリアルでは、よく使われるギミックの「下から頭突きすると壊れるブロック」「すり抜けできる足場」「コースに沿って動く足場」を簡単に作成できる専用のオブジェクトを使ってツクっていきましょう

Part1: ギミックオブジェクトで「下から頭突きすると壊れるブロック」をツクろう!

プレイヤーの接触や攻撃によって簡単な動きだけをするものとして、「ギミックオブジェクト」というものがあります、これを使って壊れるブロックを作りましょう。

  1. まずは画像を用意しましょう。「素材管理ビュー」で「公式素材をインポート」します。

  2. 環境>破壊可能オブジェクトにあるD_011_brickblock_01.pngを選択して「インポート」します。

  3. 「マップ」ビューに移動し、「ベースレイヤー」の横の+ボタンを押し、「ギミックオブジェクト」を追加します。

  4. まずは名前を変えましょう、追加された「ギミックオブジェクト」を右クリックして「リネーム」します。

  5. 名前は「壊せるブロック」とでもしておきましょう。

  6. 続いて、設定をしていきます、まずは画像です。右側のインスペクターの画像>テクスチャの<空>の右にある「クイックロード」ボタンを押します。

  7. 上部の絞り込み検索バーでbrickと入力し、先程読み込んだD_011_brickblockをクリックします。

  8. ブロックの画像を設定できたので、細かな設定を設定していきます。まず、ギミックグループを展開し、「通行できないようにする」にチェックをいれましょう。これで、このギミックが壁として動作するようになります。

  9. 続いて、「接触したとき」グループを展開し、以下のように設定します。
    接触でダメージを受ける:オン
    反応する相手をグループで指定:オン
    反応するオブジェクトグループ:Player
    反応する接触の向き:下
    これで、下方向からプレイヤーがぶつかるとこのギミックに1ダメージがはいるようになりました。HPの設定は1なので、一回ぶつかるだけで壊れます。

  10. 続けて、少し下にある壊れたときの演出を以下のように設定します。(*ダメージを受けたときではありません)
    破壊時のサウンド:Blow1
    破壊時に揺らす:オン
    破壊時のエフェクト:E_002_attack
    これで壊れたときにサウンドやエフェクトが走るようになりました。

  11. 最後に判定のサイズ(オレンジ色の部分)がはみだしているので調整します。マップレイヤーの「壊せるブロック」の子にあるGimmickCollisionを選択すると、ハンドルが動かせるようになるのでブロックに合うように調整しましょう。

  12. これで完成です、テストプレイでプレイヤーで頭突きすると壊せることを確認しましょう。

うまくいかないときのチェックリスト

・すりぬけてしまう:手順8の通行できないが正しく設定できているかチェックしましょう。
・頭突きしても何も起きない:手順9の接触したときが正しく設定できているかチェックしましょう。
・壊れるが演出がでない:手順10で、正しく「破壊された時」が設定されているかチェックしましょう、「ダメージを受けた時」ではありません。

  1. せっかくなので沢山配置してみてもよいでしょう、配置したギミックオブジェクトを右クリックして複製、もしくはCtrl+Dを押すことで複製していくことができます。複数選択して複数同時に複製することもできます。

ギミックオブジェクトの活用

通行できないをオフ、接触方向を全方向として壊れた時の演出>破壊時の変数でコインの変数を変える、とすることでコインをつくることもできます。

Part2: すり抜け床で「下から登れて下キーで降りることができる足場」をツクろう!

次は、すり抜け床を作ります。すり抜け床もギミックオブジェクトと同様に専用のノードで作ることができます。

  1. まずは画像を読み込みます。素材管理ビュー>公式素材をインポートを開き、
    環境>操作可能オブジェクトにある
    F_016_pass-throughplatform_L
    F_016_pass-throughplatform_M
    F_016_pass-throughplatform_R
    の3種類を「インポート」します。
  2. マップビューに戻り、ベースレイヤーの横の「+」ボタンから、「すり抜け床」を追加します。
  3. まずは見た目を設定しましょう、「すり抜け床」の子にある「可変長スプライト」を選択しましょう。「可変長スプライト」は、足場のような横方向に伸びる画像を簡単につくれるノードです。
  4. 右のインスペクターウィンドウを見ると、画像を設定する部分があるので、まずは左端の画像を「クイックロード」します。
  5. 検索欄にpassといれ、F_016_pass-throughplatform_Lをクリックしましょう。探しづらいときはウィンドウ右下のアイコンからリスト表示とグリッド表示を切り替えできます。
  6. 続けて、残りの画像も設定します。
    繰り返す画像: F_016_pass-throughplatform_M
    右端の画像: F_016_pass-throughplatform_R
  7. 設定が完了すると、自動で足場の画像が完成しました、試しに両端のハンドルを動かして縮めたり広げたりしてみてください。画像と、コリジョンが自動で拡縮されるはずです。
  8. コリジョンの位置が少しズレているので直しましょう。すり抜け床の子にあるコリジョンシェイプノードを選択します。
  9. ドラッグで少し上に動かして縦幅を縮めましょう
  10. これで足場ができたので、最後にすり抜け操作をプレイヤーに設定します。オブジェクトビューに移動し、プレイヤーを開き、「移動とジャンプ」ノードを選択してください。
  11. 右側のインスペクターを下にスクロールしていき、一番下にあるすり抜けの設定ですり抜け床を降りる入力を展開し、「+入力を追加」します。
  12. 入力に使う操作キー、down、押されているで「追加」しましょう。
  13. 以下のようになっていれば設定完了です、テストプレイをしてみましょう。下からジャンプで床に飛び乗ることができ、下キーを押せば降りることができれば成功です。

Part3: コース移動プラットフォームで「コースに沿って動く足場」をツクろう!

すり抜け床と似たような足場として、コースに沿って動く足場をつくることができます、これも定番のギミックなのでつくっていきましょう。

  1. まずは画像を読み込みましょう。素材管理ビューの公式インポートより、環境>操作可能オブジェクトにある以下の4つの画像を選択して「インポート」します。
    F_010_platform_01.png(中央装飾用画像)
    F_010_platform_02.png(左端画像)
    F_010_platform_03.png(繰り返し画像)
    F_010_platform_04.png(右端画像)
  2. マップビューに戻り、ベースレイヤーの横の「+」からコース(プラットフォーム)を追加します。
  3. まずは、プラットフォームが移動するコースを作ります。上部のツールバーにあるポイントツールで「ポイントを追加」を選択しましょう。

    4.好きなように点をうちましょう、撃った順に緑の線が繋がっていくので、グルっと回って最初の点の位置に戻ってくるようにしましょう。うち間違えたときは、上部のツールでポイントを選択や削除をして調整してださい。
  4. うち終わったら、ツールの右から2つ目にある「曲線を閉じる」を押しましょう。始点に近い点が始点に重なるように自動で移動し、コースが完成します。
  5. 続けて画像を設定します、Part2と同じく可変長スプライトを使いますので選択してください。
  6. インスペクターの各画像を以下に設定します。
    左端の画像:F_010_platform_02.png
    繰り返す画像:F_010_platform_03.png
    中央の装飾画像:F_010_platform_01.png
    右端の画像:F_010_platform_04.png
  7. これで設定は完了です、テストプレイをしてみましょう。コースに沿ってプラットフォームが動くはずです。
  8. 最後に少しカスタマイズして、「プレイヤーが乗っている間だけ動く」ようにしてみましょう。「コース移動プラットフォーム」を選択してください。
  9. インスペクターの「起動」を展開し、モードを「成立中のみ」にします。そして、条件のArray[Course…をクリックして展開し、「+要素を追加」します。この条件は、コースプラットフォーム専用の簡単なヴィジュアルスクリプトのようなものです。
  10. コースプラットフォームという項目ができるのでクリックして展開して、中の乗員グループとして「Player」を設定します。これで、「Playerが乗っている間だけ」プラットフォームが動くはずです。テストプレイをして正常に動作したら完成です。

オブジェクトの種類とオススメの使い分け

アクションゲームツクールでは、基本的にはゲームオブジェクトを使ってオブジェクトを作成します。

しかし、ゲームオブジェクトは何でも作成できる分、処理が比較的重く、設定も複雑です。
そのため、壊せるブロックや移動足場などステージ上に沢山配置するものはこのように別のオブジェクトを使うのがオススメです。
2.0時点で利用できるオブジェクトの種類と使い分けのオススメ表を記載しておきます。

種類 概要 負荷と目安 利用例
ゲームオブジェクト(GameObject) 何でもできる最上級のオブジェクト 非常に高い(~100体ほどが安全) プレイヤーキャラクター、敵
エリア2Dゲームオブジェクト(Area2DGameObject) 物理的な接触ができないかわりに、少し処理の軽いゲームオブジェクト 高い(~150体ほどが安全) UI、複雑な処理をするアイテム
ギミックオブジェクト2D(GimmickObject) 接触や攻撃によってシンプルな動作ができるオブジェクト 低い(1,000個単位で配置可能) 頭突き壊せるブロック、ステージに配置するコイン、特定の攻撃で壊せる壁、連鎖で壊れる壁等
すり抜け床(PassThroughPlatform2D) すり抜けできる足場専用のオブジェクト 低い(1,000個単位で配置可能) 一方通行の足場、すり抜けできる足場、斜めに回転して配置したい足場
コースプラットフォーム(CoursePlatform2D) コースに沿って動く足場専用のオブジェクトで、起動条件を指定できる。 低い(1,000個単位で配置可能) 移動する足場、スイッチがオンで起動する足場、プレイヤーが乗ると動く足場。
スコアドロップ(ScoreDrops2D) 経験値やお金など、大量にバラ撒き、キャラクターが近づくと拾えるようなオブジェクト。 非常に低い(1,000個単位で同時出現可能) プレイヤーに向かって移動するスコアアイテム、敵を倒すと散らばる経験値オーブやお金

次のチュートリアルは目次から!