滑る床(氷の床)の作り方



RPGのダンジョンでよく見られる氷の床。
つるつる滑って壁に当たるまで止まらない(DQとかポケモンとか)のようなタイプを作ってみました。
サンプル
RT.EXEをぬいてあります。各自で入れてください。
2000製ですが2003のRT.EXEを入れても動きます。

今回のテーマは「地形の使い方」です。
アクションでも地形を使っている人は沢山いるはずです。
地形を使いこなせれば作れる幅が確実に広がります。

必要なもの
スイッチ1つ
変数4つ
マップイベント1つ
地形の設定(割り振り)


スイッチ0001:滑り開始
変数0001:主人公X
変数0002:主人公Y
変数0003:主人公地形
変数0004:キー



地形0001:床
地形0002:滑る床
地形0003:壁


イベントの流れ
1、主人公の現在の地形を確認
2、滑る床の場合向いている方向へ移動
3、向いている方向の地形を確認し続ける(滑る床の場合2に戻る)
4、壁に当たったなら方向キー入力
5、方向キー押された方向へ移動、2に戻る
6、普通の床なら終了

といった流れです。



サンプルはこんな感じ

壁にぶつかった場合、方向キー入力によってその方向へ進めるのがこのイベントの楽しいところです。

★★★左上のイベント(滑るイベント本体)★★★
★★1ページ目★★
開始条件 定期的に並列処理をする
--------------------------------------------------------
◆変数の操作:【0001:主人公X】代入、主人公のX座標

◆変数の操作:【0002:主人公Y】代入、主人公のY座標
◆指定位置の地形ID取得:(\【0001】.\【0002】)、【0003,主人公地形ID】
◆条件分岐:変数【0003,主人公地形ID】】が2←滑る床に設定した地形ID
 ◆スイッチの操作:【0001:滑り開始】をONにする
 ◆
:分岐終了

--------------------------------------------------------

★★2ページ目★★
開始条件 自動的に始まる  スイッチ0001:滑り開始 ON

--------------------------------------------------------
◆ラベルの設定:1番
◆変数の操作:【0001:主人公X】代入、主人公のX座標
◆変数の操作:【0002:主人公Y】代入、主人公のY座標
 ↓主人公の1歩前の座標を取得させる
◆条件分岐:主人公が上を向いている
 ◆変数の操作:【0002:主人公Y】減算、1
 ◆
:分岐終了
◆条件分岐:主人公が右を向いている
 ◆変数の操作:【0002:主人公X】加算、1
 ◆
:分岐終了
◆条件分岐:主人公が下を向いている
 ◆変数の操作:【0002:主人公Y】加算、1
 ◆
:分岐終了
◆条件分岐:主人公が左を向いている
 ◆変数の操作:【0002:主人公X】減算、1
 ◆
:分岐終了

◆指定位置の地形ID取得:(\【0001】.\【0002】)、【0003,主人公地形ID】
◆条件分岐:変数【0003,主人公地形ID】】が1←1歩前が普通の床の場合
 ◆キャラクターの動作指定:主人公、一歩前進、アニメ再開
←移動できない場合は無視チェック
 ◆ウェイト0,2秒←動作指定の全実行でも良いが念のため
 ◆
:それ以外の場合
 ◆条件分岐:変数【0003,主人公地形ID】】が2←1歩前が滑るの床の場合
  ◆キャラクターの動作指定:主人公、アニメ停止、一歩前進←移動できない場合は無視チェック
  ◆ウェイト0,1秒←動作指定の全実行でも良いが念のため
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :それ以外の場合
  ◆条件分岐:変数【0003,主人公地形ID】】が3
←1歩前が壁の場合
   ◆キー入力の処理:【0004:キー】←4方向、キーが押されるまで待つにチェック
   ◆条件分岐:変数【0004,キー】が1
    ◆キャラクターの動作指定:主人公、下に移動←移動できない場合は無視チェック
    ◆
   :分岐終了
   ◆条件分岐:変数【0004,キー】が2
    ◆キャラクターの動作指定:主人公、左に移動
←移動できない場合は無視チェック
    ◆
   :分岐終了
   ◆条件分岐:変数【0004,キー】が3
    ◆キャラクターの動作指定:主人公、右に移動
←移動できない場合は無視チェック
    ◆
   :分岐終了
   ◆条件分岐:変数【0004,キー】が4
    ◆キャラクターの動作指定:主人公、上に移動
←移動できない場合は無視チェック
    ◆
   :分岐終了
   ◆ウェイト0,1秒
←動作指定の全実行でも良いが念のため
   ◆指定ラベルへ飛ぶ:1番
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆スイッチの操作:【0001:滑り開始】をOFFにする

--------------------------------------------------------

補足ですが、
マップに氷柱のような障害物を置く場合には、
必ず氷柱の足元のマップチップは、壁属性のものを使用してください。
このイベントは地形によって動作を判断しているため、
氷柱を壁と認識させる必要があるからです。

以上です。

あとは各自でパズルのようなダンジョンを作って楽しんで見ましょう。


戻る
フレームを表示する