# マニュアル: 壁つかまりと壁蹴りジャンプ

**URL:** <https://guild.rpgmakerofficial.com/t/topic/3025>\
**Category:** チュートリアル\
**Tags:** manual\
**Created:** [2026 年 9 月 20 日午前 4:25 UTC](https://guild.rpgmakerofficial.com/t/topic/3025 "2026-09-20T04:25:44Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 9 月 20 日午前 4:25 UTC](https://guild.rpgmakerofficial.com/t/topic/3025/1 "2026-09-20T04:25:44Z")

</div>

## このマニュアルについて

このマニュアルでは、壁につかまる動きの作り方を解説します。使うのは次の 3 つです。

| 要素 | 役割 |
| --- | --- |
| 条件「 **壁にふれた** 」 | つかまれる壁が横にあるかを判定します |
| アクション「 **壁につかまる** 」 | つかまっている間の動き（重力停止・追従・ずり落ち・登り降り）を作ります |
| 「 **オブジェクトの速度を設定** 」の座標空間「つかんだ壁の反対方向」 | 壁を蹴って飛ぶ速度を与えます |

壁ずり落ち、壁キック、崖へのぶら下がり（崖つかまり）といった動きを、プレイヤーのヴィジュアルスクリプトだけで組めます。重力を止めて左右の壁につかまる動きなので、主にサイドビュー向けの機能です。

## ACTION GAME MAKER での壁つかまりの考え方

**「どの壁に、いつつかまるか」は作り手が決め、「つかまっている間どう動くか」はアクションが受け持ちます。** つかまる・離れる・蹴るの切り替えは、ヴィジュアルスクリプトの遷移条件で作ります。

つかまり中は、 **つかんだ壁そのものに追従します。** そのため、縦に置いたコース移動プラットフォームのような **動く壁でも、ずり落ちずに一緒に運ばれます** 。止まっているタイルの壁にも同じようにつかまれます。

## 使い方

最小構成は次の流れです。

1. プレイヤーのヴィジュアルスクリプトに「壁つかまり」のステートを作ります。
2. 通常のステートから「壁つかまり」への遷移条件に、その他条件「 **壁にふれた** 」を置きます。
3. 「壁つかまり」ステートに、その他アクション「 **壁につかまる** 」を置きます。
4. 離れる・ジャンプする遷移を作ります（アクションが外れた時点でつかまりは解除されます）。

## 「壁にふれた(ContactWithWall)」

その他条件です。指定した側に壁があるときに成立します。 **壁の探し方は「壁につかまる」アクションとまったく同じ** なので、この条件が成立した壁は、そのままつかめます。

### 壁判定

- **このオブジェクトからみた接触方向** : 壁を探す側です（左 / 右）。初期値は両方です。どちらかで見つかれば成立します。
- **壁を探す距離** : 自分の壁判定の端から、どこまで先を探すかです（ピクセル）。

### 対象の壁

- **タイルグループ** : 「すべて」「対象外」と、タイル設定で作ったグループから選びます。
- **対象となるオブジェクトグループ** : 「すべて」「対象外」と、プロジェクトのオブジェクトグループから選びます。

くわしくは後述の「つかまれる壁を分ける」を参照してください。

### 角

- **角だけを対象にする** : 有効にすると、 **壁が途切れている「角」でだけ** 成立します。崖つかまりの入口に使います。
- **角とみなす高さ** : 自分の中心から、どれだけ上まで壁の上端を探すかです（ピクセル）。その高さより上まで壁が続いている場合は角として数えません。

## 「壁につかまる(GrabWall)」

その他アクションです。このアクションが動いている間、オブジェクトは壁につかまった状態になります。

### つかまっている間の動き

- **重力が止まります。** 縦の速度も打ち消されるので、ずり落ちる速さを 0 にすればその場で止まれます。
- **左右の入力では動きません。** 位置はつかんだ壁に追従します。
- **つかんだ瞬間に、壁面へ吸い付きます。** 壁判定と画像の位置がずれている場合は、左右オフセットで見た目を合わせられます。
- **ほかのステートへ遷移してこのアクションが外れると、つかまりは自動的に解除されます。** 解除用のアクションを置く必要はありません。
- **つかまりのステートと上下移動のステートに分けても、つかまりは切れません。** 止まっている間と登り降りの間で別のアニメーションを再生したい場合は、両方のステートに「壁につかまる」を置いてください。

### つかまり位置

- **つかまる向き** : どちら側の壁をつかむかです。

| 選択肢 | 内容 |
| --- | --- |
| 自動（近いほうの壁） | 左右を見て、近いほうの壁をつかみます（既定） |
| 自分の表示方向 | 向いている側の壁だけをつかみます |
| 左 / 右 | 決まった側の壁だけをつかみます |

- **壁を探す距離** : 自分の壁判定の端から、どこまで先を探すかです（ピクセル）。大きくすると、壁の小さな切れ目をまたいでもつかまりが切れません。
- **つかまり位置の左右オフセット** : 壁面から左右にずらす量です（ピクセル）。プラスの値で壁から離れます。壁判定と画像の位置が合っていないときに使います。
- **つかまり中の表示方向** : 「壁の側を向く」（既定）「壁と反対を向く」「変えない」から選びます。つかみ位置へ寄る動きで向きが決まってしまわないよう、つかまっている間はこの指定を保ちます。

### つかまれる壁

- **タイルグループ** / **対象となるオブジェクトグループ** : つかまれる壁を絞り込みます。どちらも初期値は「すべて」です。

### 角つかまり

- **角だけを対象にする** : 有効にすると、 **壁が途切れている「角」でだけ** つかまります。
- **角とみなす高さ** : 自分の中心から、どれだけ上まで壁の上端を探すかです（ピクセル）。
- **角からの上下オフセット** : 角からどれだけ離れてぶら下がるかです（ピクセル。プラスで下）。 **角を基準に位置を決めるので、どの高さで触っても毎回同じ位置につかまります。**

### つかまり中の動き

- **ずり落ち方** : 「定速」「徐々に加速」から選びます。

| 選択肢 | 内容 |
| --- | --- |
| 定速 | 「ずり落ちる速さ」のまま落ちます（既定） |
| 徐々に加速 | 「ずり落ちる速さ」から落ち始め、だんだん速くなります |

- **ずり落ちる速さ** : つかまっている間に落ちる速さです（1 秒あたりのピクセル数）。 **0 にするとつかまった位置を保ちます。** 「徐々に加速」のときは落ち始めの速さになります。
- **ずり落ちの加速度** : 「徐々に加速」のときに、1 秒でどれだけ速くなるかです。
- **ずり落ちの上限速度** : 「徐々に加速」のときの上限です。0 にすると制限しません。
- **壁を登り降りする速さ** : 上下入力で壁を登り降りする速さです（1 秒あたりのピクセル数）。0 にすると上下入力では動きません。使われるのは、そのオブジェクトの移動に割り当てた上下の入力です。

### オプション

- **壁が途切れたら解除する** （既定はオン）: 動く足場の端などで壁が見つからなくなったときに、つかまりを自動で解除します。
- **壁から出ないようにする** （既定はオフ）: ずり落ちと登り降りが **壁の端で止まり** 、壁から出ていかなくなります。
- **壁から出ない判定の上オフセット / 下オフセット** : 「壁から出ないようにする」で壁を調べる位置です。自分の中心から上下にどれだけ離れた高さで見るかを指定します（ピクセル）。その高さに壁が無くなると、その向きへは進めなくなります。
- **解除時に壁の速度を引き継ぐ** （既定はオン）: つかまりを解除したときに、つかんでいた壁の速度を引き継ぎます（動く足場から離れたときと同じ扱いです）。オフにするとその場から落ちます。

## つかまれる壁を分ける

「この壁にはつかまれるが、あの壁にはつかまれない」を作るには、壁の側にグループを設定します。

| 壁の種類 | グループの設定場所 |
| --- | --- |
| タイルの壁 | タイル設定の「タイルグループ」 |
| コース移動プラットフォーム / すり抜け床 | ノードの「 **所属するオブジェクトグループ** 」 |

そのうえで、条件とアクションの「タイルグループ」「対象となるオブジェクトグループ」を設定します。 **タイルとオブジェクトは別々に指定します。**

| タイルグループ | 対象となるオブジェクトグループ | つかまれる壁 |
| --- | --- | --- |
| すべて | すべて | すべての壁（既定） |
| すべて | 特定のグループ | すべてのタイル＋そのグループのオブジェクト |
| 対象外 | 特定のグループ | そのグループのオブジェクトだけ |
| 特定のグループ | 対象外 | そのグループのタイルだけ |
| 対象外 | 対象外 | どれにもつかまれません |

**条件とアクションには同じ設定を入れてください。** 片方だけ絞ると「条件は成立するのにつかめない」状態になります。

## 壁蹴りジャンプ

壁を蹴って反対側へ飛ぶには、ジャンプ用のステートに「 **オブジェクトの速度を設定** 」を置き、座標空間を「 **つかんだ壁の反対方向** 」にします。

- **プラス X が、つねに壁から離れる向き** になります。左右どちらの壁でも同じ設定で飛べるため、壁ごとにステートを分ける必要はありません。
- Y はワールド座標のままです（マイナスが上）。
- 上へ 45 度に飛ぶ例: X速度の操作＝設定・X＝`300` / Y速度の操作＝設定・Y＝`-300`

**アクションノードの「ジャンプ」チェックは使いません。** ジャンプは真上へしか飛ばないため、壁蹴りには向きません。速度を与えるだけで、重力は通常どおり効いて放物線になります。

基準にする壁は、 **壁から離れたあとも接地するまで覚えています。** そのため、つかまりのステートではなくジャンプ用のステートに置いて構いません。

表示方向を「移動方向」にしているオブジェクトは、蹴った方向を向いて飛びます。壁を押し込んだまま蹴っても、押している側ではなく **飛んでいる方向** を向きます。

## ビジュアルスクリプトの組み方

### 最小構成（3 ステート）

1. 通常（立ち・歩き・落下）のステート
2. 壁つかまりのステート（「壁につかまる」を置く）
3. 壁蹴りジャンプのステート（「オブジェクトの速度を設定」を置く）

遷移条件の例は次のとおりです。

- 通常 → 壁つかまり: 「壁にふれた」（落下中だけにしたい場合は、落下の条件と組み合わせます）
- 壁つかまり → 壁蹴りジャンプ: ジャンプボタンの入力
- 壁つかまり → 通常: 「壁にふれた」の反転（壁から外れた）、または接地した
- 壁蹴りジャンプ → 通常: 一定時間の経過、または接地した

### つかまりと登り降りを分ける

止まっている間と登り降りの間でアニメーションを変えたい場合は、ステートを 2 つに分けます。

- 「つかまり」ステート: 「壁につかまる」（壁を登り降りする速さ＝`0`）
- 「登り降り」ステート: 「壁につかまる」（壁を登り降りする速さ＝`100` など）
- 上下入力で「つかまり」→「登り降り」、入力が無くなったら戻す、という遷移にします。

**ステートをまたいでもつかまりは切れません。** ずり落ち方など、ステートごとに違う設定を入れても構いません。

### 崖つかまり

1. 「崖つかまり」ステートへの遷移条件に「 **壁にふれた** 」を置き、 **角だけを対象にする** を有効にします。角とみなす高さは、キャラクターの半分より少し大きい値から試してください。
2. 同じステートに「 **壁につかまる** 」を置き、 **角だけを対象にする** を有効にします。
3. **角からの上下オフセット** で、角から何ピクセル下にぶら下がるかを決めます。
4. ずり落ちる速さと壁を登り降りする速さは `0` にして、その場で止まるようにします。
5. 登る・落ちる・飛び降りるは、別のステートへの遷移で作ります。

## 実用例

### 壁ずり落ち＋壁蹴り

- 「壁つかまり」ステートの **ずり落ち方** を「徐々に加速」、 **ずり落ちる速さ** を `20`、 **ずり落ちの加速度** を `200`、 **ずり落ちの上限速度** を `150` にすると、張り付いてからだんだん滑り落ちます。
- ジャンプボタンで壁蹴りのステートへ遷移し、「オブジェクトの速度を設定」（つかんだ壁の反対方向・X＝`250` / Y＝`-350`）で蹴り出します。

### 縦に動く足場につかまって運ばれる

- コース移動プラットフォームを縦向きに置き、 **足場の種別** を「 **通常の壁** 」にします。
- 「壁つかまり」ステートの **ずり落ちる速さ** を `0` にすると、足場の上下移動にそのまま運ばれます。
- 足場の端で落としたい場合は「壁が途切れたら解除する」をオン、端で止めたい場合はオフにして「壁から出ないようにする」をオンにします。

### 崖にぶら下がって登る

- 「崖つかまり」ステート（角だけを対象にする・角からの上下オフセット `24` など）でぶら下がります。
- 上入力で「よじ登り」ステートへ遷移し、そちらで座標移動やアニメーションで登り切る動きを作ります。
- 下入力やジャンプで「通常」ステートへ戻せば、手を離す動きになります。

### つかまれる壁を限定する

- つかまれるタイルに、タイル設定でタイルグループ（例: 「つかまれる壁」）を設定します。
- 「壁にふれた」と「壁につかまる」の **タイルグループ** をそのグループに、 **対象となるオブジェクトグループ** を「対象外」にします。
- これで、指定したタイル以外の壁にはつかまらなくなります。

## 注意点

- **コース移動プラットフォームの「足場の種別」が「一方通行」のままだと、縦の面は壁になりません。** 一方通行は下から抜けられる設定のため、横からは素通りします。縦に置いて壁として使う場合は「通常の壁」にしてください。条件のレイは一方通行を無視して当たるので、「条件は成立するのに体が止まらない」状態になります。
- **ステートの「表示方向を変更しない」にチェックが入っていると、「つかまり中の表示方向」は効きません。** ステート側の指定が優先されます。
- **「壁にふれた」と「壁につかまる」のグループ設定は合わせてください。** 片方だけ絞ると、条件は成立するのにつかめません。
- **角の判定は「その高さに壁があり、指定した高さまで上に壁が無い」で行います。** つかんだあとは、壁があるかどうかだけを見ます（ぶら下がると角が判定位置より上になるためです）。
- **つかまっている間は移動テンプレートよりつかまりが優先されます。** 移動テンプレートで動かそうとしても、つかまり側の移動が優先されます。
- **つかまっている間は「足場」として記録されません。** クイックリスタートの「最後に接地した足場へ戻る」では、壁の位置には戻りません。
- **「壁につかまる」はサブレイヤーでは使えません。** 移動を奪うアクションのため、サブレイヤーに置いても実行されません。
- **解除時の速度の引き継ぎは、「オブジェクトの速度を設定」で値を入れた軸には乗りません。** 「設定」で蹴った場合、壁の速度は加算されず、指定した速度どおりに飛びます。足場の勢いも乗せたい場合は「加算」を使ってください。
- **壁を探す距離には、つかまり位置の左右オフセットのぶんが自動で加算されます。** 壁から離して固定しても、そのせいで壁を見失うことはありません。
