マニュアル: 坂の設定

このマニュアルでは

  1. 物理挙動としての坂
  2. ヴィジュアルスクリプトでの坂の検知

の2つの項目について説明します。

1. 物理挙動としての坂

ゲームオブジェクトの動作の指定

ACTION GAME MAKERのオブジェクトはGodotのCharacterBody2Dを継承しているため、斜面での動作を指定することができます。
GameObjectノードのインスペクターを確認してください。CharacterBody2D>floorが該当箇所です。


floorの各オプションについて解説します。

  • Stop on Slope: オンの場合、坂の動作を有効にします。オフにすると、坂は壁として扱われます。
  • constant_speed: オンにすると坂でも一定の速度で走れるようになります。オフの場合、物理挙動に沿って上りは遅くなり、下りでは早くなります。
  • Block on Wall: オンにすると壁で止まります。オフの場合は壁にあたっても滑って移動できます、どちらかというとオフはトップビュー用の設定です。
  • Max Angle: 立ち止まれる坂の最大角度です。この角度を超えると滑ってしまいます。
  • Snap Length: 坂から飛び出すのを防ぐ設定です。物理挙動上、下り坂ではキャラクターは空に飛び出してしまいますが、ここで指定したピクセル以内のキャラクターは地面に吸い付き、坂の上を走って下れるようになります。

ヴィジュアルスクリプトでの坂の検知

坂タイルの作成

TileSetで任意のタイルを選択し、Physicsで坂の形状のコリジョンを作成するだけで坂として動作します。しかし、ヴィジュアルスクリプトで検知するためにはもう1つ設定が必要です。

タイルへの坂属性の付与

同じくTileSetで任意のタイルを選択した状態で、WallCollisionメニューのIs Slopeをオンにしてください。
ヴィジュアルスクリプトでは、この属性がオンのもののみを坂として認識します。