RPGツクール2000/システム【サイトトップへ戻る】
ドット移動処理(ピクチャーキャラ)について
■ピクチャーキャラの当たり判定
(更新:2020/07/05)
ピクチャーキャラの当たり判定の設定に関するページです。
このページには基礎ページがあります |
基礎ページをご覧頂いた上でこのページをご覧ください。
【基礎ページを開く】 |
■当たり判定に関して
当ページで紹介している当たり判定の処理は、
マス座標で当たり判定を読み取る方法と、
ピクセル位置で当たり判定を読み取る方法の2種類があります。
なお、当ページの処理は、固定画面(画面スクロール無し)の場合としています。
画面スクロールがある場合は、画面スクロール用の設定が別途必要です。
■マス座標で当たり判定を読み取る
ピクチャーキャラの場合、ピクセル単位で表示しているので、
「除算16」を実行してマス単位に変更してから、地形IDやイベントIDを調べます。
地形IDは、読み取った地形IDが「2」の時には「通行不可」として、
移動処理を中断させます。
イベントIDの方は、イベントIDが「11以上」だったら「通行不可」としたり、
そのイベントの1ページ目を呼び出して「通行不可」かどうかを確認して、
移動できない場合は移動処理を中断します。
▼処理の流れ
ピクチャーキャラには8か所の当たり判定を確認するポイントを設け、
それぞれの表示位置(ピクセル位置)を10個の変数で記憶します。
▼「X座標=9」「Y座標=7」からスタートさせた場合の変数の初期値
右へ移動する場合は、右前方を調べるピクセル位置を別の変数に代入して、
その代入した変数を「除算16」にして、右前方のマス座標を算出します。
そして地形IDとイベントIDを調べて「通行可能」と判断されたら右へ移動します。
移動した後に移動方向の角の地形IDやイベントIDを調べます。
ピクチャーキャラの角が通行不能のマスと重なっている場合は、
表示位置を補正して重ならないようにします。
このように少しだけ重なっている時には表示位置を補正する事で、
よりスムーズな移動処理になります。
▼マップイベントの1ページ目に通行可能or不可を設定
※「イベントID11番以上=通行不可」と設定している場合は、以下の設定は不要です。
マップ内の全てのマップイベントの1ページ目に通行可能or不可の設定を行ってください。
▼通行可能な場合
◆条件分岐:スイッチ[0001:通行チェック]がON
◆イベント処理の中断
◆
:分岐終了 |
▼通行不可な場合
◆条件分岐:スイッチ[0001:通行チェック]がON
◆スイッチの操作:[0002:通行可能]をOFFにする
◆イベント処理の中断
◆
:分岐終了 |
■ピクセル位置で当たり判定を読み取る
ピクセル位置の当たり判定では、両者の中心からのピクセル距離を調べ、
そこから重なっているかどうかを判断します。
この処理は主にピクチャー同士の当たり判定で使用します。
下図の場合、両者の中心からの距離は…
横の距離:(16+32)÷2=24ピクセル
縦の距離:(16+24)÷2=20ピクセル |
となり、横24ピクセル未満&縦20ピクセル未満の場合は、重なっていると判断されます。
下図の距離は横22ピクセル&縦9ピクセルなので、この場合は重なっていると判断されます。
なお、ピクセル位置の方も角が当たっている時には補正移動を行います。
▲トップへ戻る▲
■準備
ピクチャーキャラのイベントを設定する前に、以下の準備を行ってください。
マップは固定画面(マップサイズ:20×15マス)で用意し、
マップ内にパーティーの初期位置を設定にしてください。
なお、パーティーの初期位置がピクチャーキャラの初期位置になります。
地形IDは以下のように設定してください。
通行可能=地形ID2番以外
通行不可=地形ID2番
▲トップへ戻る▲
■移動処理の設定
ピクチャーキャラの主人公を操作するイベントを設定します。
動作見本用のサンプルデータ |
サンプルのダウンロードは↓をクリックしてください。
|
サンプルのイベント設定状況を見る場合は、 ツクールの作品データが入っているフォルダを開いて、
その中にサンプルの作品データを入れてください。
【ツクールのフォルダの開き方を見る】 |
このサンプルデータのイベント設定をコピー&貼り付けして、 制作中の作品に使用する場合は、
イベントの処理構造を理解した上で自己責任でご利用ください。
動作確認用のサンプル内では正常に動いていたイベントが、 制作中の作品にコピー&貼り付けしたら正常に動かなくなった場合は、 明らかにコピー&貼り付けの作業に問題があった事になります。 |
スイッチ・変数・ラベルの番号と使用内容の一覧表です。
スイッチ |
番号 |
名前 |
使用内容 |
0001 |
通行チェック |
マップイベントの通行設定をチェックする時にON |
0002 |
通行可能 |
調べたマップイベントが通行可能である時にON |
変数 |
番号 |
名前 |
使用内容 |
0001 |
位置:横−9 |
中心から左に9ピクセルの位置を設定 |
0002 |
位置:横−8 |
中心から左に8ピクセルの位置を設定 |
0003 |
位置:横中心 |
横の中心位置を設定 |
0004 |
位置:横+7 |
中心から右に7ピクセルの位置を設定 |
0005 |
位置:横+8 |
中心から右に8ピクセルの位置を設定 |
0006 |
位置:縦−9 |
中心から上に9ピクセルの位置を設定 |
0007 |
位置:縦−8 |
中心から上に8ピクセルの位置を設定 |
0008 |
位置:縦中心 |
縦の中心位置を設定 |
0009 |
位置:縦+7 |
中心から下に7ピクセルの位置を設定 |
0010 |
位置:縦+8 |
中心から下に8ピクセルの位置を設定 |
|
0011 |
向き |
主人公の現在の向きを記憶 |
0012 |
Y表示位置 |
Y表示位置の計算処理で使用 |
0013 |
アニメ表示時間 |
足踏みの画像切り替えカウントに使用 |
0014 |
キー |
キー入力で使用 |
0015 |
ID |
地形IDやイベントIDを取得する時に使用 |
0016 |
1ページ目 |
イベントの1ページ目を呼び出す時に使用 |
|
0021 |
処理用:横−9 |
変数1番の値をコピーし、移動処理で使用 |
0022 |
処理用:横−8 |
変数2番の値をコピーし、移動処理で使用 |
0023 |
処理用:横中央 |
変数3番の値をコピーし、移動処理で使用 |
0024 |
処理用:横+7 |
変数4番の値をコピーし、移動処理で使用 |
0025 |
処理用:横+8 |
変数5番の値をコピーし、移動処理で使用 |
0026 |
処理用:縦−9 |
変数6番の値をコピーし、移動処理で使用 |
0027 |
処理用:縦−8 |
変数7番の値をコピーし、移動処理で使用 |
0028 |
処理用:縦中央 |
変数8番の値をコピーし、移動処理で使用 |
0029 |
処理用:縦+7 |
変数9番の値をコピーし、移動処理で使用 |
0030 |
処理用:縦+8 |
変数10番の値をコピーし、移動処理で使用 |
|
0031 |
マス:移動方向X |
移動方向のXマス座標を設定 |
0032 |
マス:移動方向Y |
移動方向のYマス座標を設定 |
0033 |
マス:移動方向角X1 |
移動方向の1つ目の角のXマス座標を設定 |
0034 |
マス:移動方向角X2 |
移動方向の1つ目の角のYマス座標を設定 |
0035 |
マス:移動方向角Y1 |
移動方向の2つ目の角のXマス座標を設定 |
0036 |
マス:移動方向角Y2 |
移動方向の2つ目の角のYマス座標を設定 |
0037 |
ドット:計算用X |
ピクセル位置の当たり判定を調べる時に使用 |
0038 |
ドット:計算用Y |
ピクセル位置の当たり判定を調べる時に使用 |
ラベル |
番号 |
使用内容 |
01 |
処理を最初の位置に戻す時に使用
移動不可などがあり、移動処理を中断する時に戻る処理を実行 |
02 |
マス単位の当たり判定の処理を終了させる時に使用
終了させる事でピクセル位置の当たり判定へ処理を移行させる |
03 |
ピクセル位置の当たり判定を終了させ、移動を実行させる |
【スイッチ・変数・ラベルの一覧表を表示】
設定例では、
ピクチャー1枚で画像数枚+移動時にアニメーションを使用しています。
ピクチャー1枚で画像数枚+移動時にアニメーションの設定部分は、
この色で表示しています。
※移動方向は4方向です。
当たり判定は、「マス座標で当たり判定を読み取る」と、
「ピクセル位置で当たり判定を読み取る」の両方が設定されています。
イベント処理は、マス座標のみのイベント設定でも動きますが、
ピクセル位置のみのイベント設定では動きません。
ピクセル位置を設定する場合は、マス座標の設定も行ってください。
なお、ピクセル位置の当たり判定を行う対象物は、「X260、Y60」の位置に表示し、
「横幅64、縦幅40」のサイズで、移動は「しない物」とします。
※この当たり判定の対象物をピクチャー1番で表示するため、
主人公を表示するピクチャー番号は、ピクチャー2番を使用しています。
マップ内にマップイベント「主人公の操作」を設定してください。
設定場所はマップの左上などの分かりやすい所が良いでしょう。
出来る限り、イベントID1番が望ましいです。
イベントID1番ではない場合は、移動できない地形の上に設定すると良いでしょう。
■マップイベント「主人公の操作」
▼1ページ目
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明
◆条件分岐:スイッチ[0001:通行チェック]がON
◆イベント処理の中断
◆
:分岐終了
◆スイッチの操作:[0001〜0002]をOFFにする
◆変数の操作:[0001〜0005]代入,主人公の画面X
◆変数の操作:[0006〜0010]代入,主人公の画面Y
◆変数の操作:[0006〜0010]減算,8
◆変数の操作:[0001:位置:横−9]減算,9
◆変数の操作:[0002:位置:横−8]減算,8
◆変数の操作:[0004:位置:横+7]加算,7
◆変数の操作:[0005:位置:横+8]加算,8
◆変数の操作:[0006:位置:縦−9]減算,9
◆変数の操作:[0007:位置:縦−8]減算,8
◆変数の操作:[0009:位置:縦+7]加算,7
◆変数の操作:[0010:位置:縦+8]加算,8
◆変数の操作:[0011:向き]代入,1
◆変数の操作:[0013:アニメ表示時間]代入,10
◆変数の操作:[0016:1ページ目]代入,1
◆変数の操作:[0012:Y表示位置]代入,変数[0011]の値
◆変数の操作:[0012:Y表示位置]乗算,-816
◆変数の操作:[0012:Y表示位置]加算,変数[0008]の値
◆変数の操作:[0012:Y表示位置]加算,2032
◆ピクチャーの表示:2,主人公,(V[0003],V[0012])
◆キャラクターの動作指定:主人公,すりぬけ開始,一時停止(動作を繰り返す:ON)
◆ウェイト:0.1秒
◆ラベルの設定:1番
◆変数の操作:[0013:アニメ表示時間]加算,1
◆変数の操作:[0013:アニメ表示時間]剰余,24
◆変数の操作:[0012:Y表示位置]代入,変数[0011]の値
◆変数の操作:[0012:Y表示位置]乗算,-816
◆変数の操作:[0012:Y表示位置]加算,変数[0008]の値
◆変数の操作:[0012:Y表示位置]加算,2032
◆条件分岐:変数[0013:アニメ表示時間]が12より小さい(それ以外の場合:ON)
◆条件分岐:変数[0013:アニメ表示時間]が6より小さい
◆変数の操作:[0012:Y表示位置]加算,272
◆
:分岐終了
◆
:それ以外の場合
◆条件分岐:変数[0013:アニメ表示時間]が18より小さい
◆変数の操作:[0012:Y表示位置]減算,272
◆
:分岐終了
◆
:分岐終了
◆ピクチャーの移動:2,(V[0003],V[0012]),0.0秒
◆キー入力の処理:[0014:キー](上・下・左・右/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0014:キー]が0
◆キー入力の処理:[0014:キー](上・下・左・右/オプション:OFF)
◆条件分岐:変数[0014:キー]が0
◆変数の操作:[0013:アニメ表示時間]代入,10
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆注釈:----------------------------------------------------------
: :▼マス座標で当たり判定を読み取る
: : ◆変数の操作:[0011:向き]代入,変数[0014]の値
◆変数の操作:[0021:処理用:横−9]代入,変数[0001]の値
◆変数の操作:[0022:処理用:横−8]代入,変数[0002]の値
◆変数の操作:[0023:処理用:横中心]代入,変数[0003]の値
◆変数の操作:[0024:処理用:横+7]代入,変数[0004]の値
◆変数の操作:[0025:処理用:横+8]代入,変数[0005]の値
◆変数の操作:[0026:処理用:縦−9]代入,変数[0006]の値
◆変数の操作:[0027:処理用:縦−8]代入,変数[0007]の値
◆変数の操作:[0028:処理用:縦中心]代入,変数[0008]の値
◆変数の操作:[0029:処理用:縦+7]代入,変数[0009]の値
◆変数の操作:[0030:処理用:縦+8]代入,変数[0010]の値
◆注釈:-----------------------------
: :▼左移動
: :
◆条件分岐:変数[0011:向き]が2<左キーを押した時
◆条件分岐:変数[0023:処理用:横中心]が8以下<これ以上移動させると表示範囲外に出る時
◆指定ラベルへ飛ぶ:1番<移動処理を中断
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0021]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0028]の値
◆変数の操作:[0031〜0032]除算,16<マス単位に変換
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2<前方に壁の地形がある時
◆指定ラベルへ飛ぶ:1番<移動処理を中断
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上<前方にマップイベントがある時
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]<前方にあるマップイベントの1ページ目を呼び出す
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF<前方にあるマップイベントが通行不可の場合
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0021〜0025]減算,2<2ピクセル前に移動
◆変数の操作:[0031〜0032]乗算,16<ピクセル単位に戻す
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値<左上の角位置Xを減算
◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値<左上の角位置Yを減算
◆注釈:-----------------------------
: :▼角のチェック(左上)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0022]の値<前方の角のX位置を代入
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0027]の値<左上角のY位置を代入
◆変数の操作:[0036:マス:移動方向角Y2]代入,変数[0029]の値<左下角のY位置を代入
◆変数の操作:[0033〜0036]除算,16<マス単位に変換
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2<左上の角が通行不可の地形の場合
◆変数の操作:[0026〜0030]加算,変数[0032]の値<表示位置を補正し、通行不可を避ける
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上<左上の角にマップイベントがある時
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値<表示位置を補正し、通行不可を避ける
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(左下)
: :
◆指定位置の地形ID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼右移動
: :
◆条件分岐:変数[0011:向き]が3<右キーを押した時
◆条件分岐:変数[0003:位置:横中心]が312以上
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0025]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0028]の値
◆変数の操作:[0031〜0032]除算,16
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0021〜0025]加算,2
◆変数の操作:[0031〜0032]乗算,16
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値 ◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値
◆注釈:-----------------------------
: :▼角のチェック(右上)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0024]の値
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0027]の値
◆変数の操作:[0036:マス:移動方向角Y2]代入,変数[0029]の値
◆変数の操作:[0033〜0036]除算,16
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(右下)
: :
◆指定位置の地形ID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼上移動
: :
◆条件分岐:変数[0011:向き]が4<上キーを押した時
◆条件分岐:変数[0008:位置:縦中心]が8以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0023]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0026]の値
◆変数の操作:[0031〜0032]除算,16
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0026〜0030]減算,2
◆変数の操作:[0031〜0032]乗算,16
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値 ◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値
◆注釈:-----------------------------
: :▼角のチェック(左上)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0022]の値
◆変数の操作:[0034:マス:移動方向角X2]代入,変数[0024]の値
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0027]の値
◆変数の操作:[0033〜0036]除算,16
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(右上)
: :
◆指定位置の地形ID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼下移動
: :
◆条件分岐:変数[0011:向き]が1<下キーを押した時
◆条件分岐:変数[0008:位置:縦中心]が232以上
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0023]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0030]の値
◆変数の操作:[0031〜0032]除算,16
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0026〜0030]加算,2
◆変数の操作:[0031〜0032]乗算,16
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値 ◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値
◆注釈:-----------------------------
: :▼角のチェック(左下)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0022]の値
◆変数の操作:[0034:マス:移動方向角X2]代入,変数[0024]の値
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0029]の値
◆変数の操作:[0033〜0036]除算,16
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(右下)
: :
◆指定位置の地形ID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆ラベルの設定:2番
◆注釈:----------------------------------------------------------
: :▼ピクセル位置で当たり判定を読み取る
: : サイズ:横64×縦40、位置:横260×縦60
: :
◆変数の操作:[0037:ドット:計算用X]代入,変数[0023]の値<ピクチャーキャラの中心Xを代入
◆変数の操作:[0038:ドット:計算用Y]代入,変数[0028]の値<ピクチャーキャラの中心Yを代入
◆変数の操作:[0037:ドット:計算用X]減算,260<対象キャラの中心Xを減算
◆変数の操作:[0038:ドット:計算用Y]減算,60<対象キャラの中心Yを減算
◆条件分岐:変数[0011:向き]が2(それ以外の場合:ON)<左向きの時
◆条件分岐:変数[0037:ドット:計算用X]が-40以下<対象物から離れている時
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が40以上<対象物から離れている時
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-20以上<移動不可の範囲の時
◆条件分岐:変数[0038:ドット:計算用Y]が20以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-28より大きい
◆条件分岐:変数[0038:ドット:計算用Y]が28より小さい<対象物と角で重なっている時
◆条件分岐:変数[0037:ドット:計算用X]が38<対象物を重なっている時
◆条件分岐:変数[0038:ドット:計算用Y]が0以下(それ以外の場合:ON)<対象物より画面上
◆変数の操作:[0038:ドット:計算用Y]加算,28<両者の中心までの距離を加算
◆変数の操作:[0026〜0030]減算,変数[0038]の値<位置を補正
◆
:それ以外の場合<対象物より画面下
◆変数の操作:[0038:ドット:計算用Y]減算,28<両者の中心までの距離を減算
◆変数の操作:[0026〜0030]減算,変数[0038]の値
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:それ以外の場合<左向きではない時
◆条件分岐:変数[0011:向き]が(それ以外の場合:ON)<右向きの時
◆条件分岐:変数[0037:ドット:計算用X]が-40以下
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が40以上
◆◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-20以上
◆条件分岐:変数[0038:ドット:計算用Y]が20以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-28より大きい
◆条件分岐:変数[0038:ドット:計算用Y]が28より小さい
◆条件分岐:変数[0037:ドット:計算用X]が-38
◆条件分岐:変数[0038:ドット:計算用Y]が0以下(それ以外の場合:ON)
◆変数の操作:[0038:ドット:計算用Y]加算,28
◆変数の操作:[0026〜0030]減算,変数[0038]の値
◆
:それ以外の場合
◆変数の操作:[0038:ドット:計算用Y]減算,28
◆変数の操作:[0026〜0030]減算,変数[0038]の値
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:それ以外の場合<上下の向きの時
◆条件分岐:変数[0038:ドット:計算用Y]が-28以下
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が28以上
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が-32以上
◆条件分岐:変数[0037:ドット:計算用X]が32以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が-40より大きい
◆条件分岐:変数[0037:ドット:計算用X]が40より小さい
◆条件分岐:変数[0011:向き]が4(それ以外の場合:ON)<上向きの時
◆条件分岐:変数[0038:ドット:計算用Y]が26
◆条件分岐:変数[0037:ドット:計算用X]が0以下(それ以外の場合:ON)
◆変数の操作:[0037:ドット:計算用X]加算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:それ以外の場合
◆変数の操作:[0037:ドット:計算用X]減算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:分岐終了
◆
:分岐終了
◆
:それ以外の場合<下向きの時
◆条件分岐:変数[0038:ドット:計算用Y]が-26
◆条件分岐:変数[0037:ドット:計算用X]が0以下(それ以外の場合:ON)
◆変数の操作:[0037:ドット:計算用X]加算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:それ以外の場合
◆変数の操作:[0037:ドット:計算用X]減算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆ラベルの設定:3番
◆注釈:----------------------------------------------------------
◆変数の操作:[0001:位置:横−9]代入,変数[0021]の値
◆変数の操作:[0002:位置:横−8]代入,変数[0022]の値
◆変数の操作:[0003:位置:横中心]代入,変数[0023]の値
◆変数の操作:[0004:位置:横+7]代入,変数[0024]の値
◆変数の操作:[0005:位置:横+8]代入,変数[0025]の値
◆変数の操作:[0006:位置:縦−9]代入,変数[0026]の値
◆変数の操作:[0007:位置:縦−8]代入,変数[0027]の値
◆変数の操作:[0008:位置:縦中心]代入,変数[0028]の値
◆変数の操作:[0009:位置:縦+7]代入,変数[0029]の値
◆変数の操作:[0010:位置:縦+8]代入,変数[0030]の値
◆指定ラベルへ飛ぶ:1番
◆ |
マップ内のマップイベントは、全ての1ページ目に以下の設定を行ってください。
▼通行可能な場合
◆条件分岐:スイッチ[0001:通行チェック]がON
◆イベント処理の中断
◆
:分岐終了 |
▼通行不可な場合
◆条件分岐:スイッチ[0001:通行チェック]がON
◆スイッチの操作:[0002:通行可能]をOFFにする
◆イベント処理の中断
◆
:分岐終了 |
以上で設定完了です。
▲トップへ戻る▲
■イベント実行の処理を追加
上記の設定にイベントを実行させる処理を追加します。
スイッチ・変数・ラベルの番号と使用内容の一覧表です。
※名前が黄色の部分が追加された部分です。
スイッチ |
番号 |
名前 |
使用内容 |
0001 |
通行チェック |
マップイベントの通行設定をチェックする時にON |
0002 |
通行可能 |
調べたマップイベントが通行可能である時にON |
0003 |
実行:触れた時 |
触れて実行するイベントを起動 |
0004 |
実行:向かって決定 |
前方に決定キーで実行するイベントを起動 |
0005 |
実行:重なって決定 |
イベントと重なって実行するイベントを起動 |
0006 |
実行:重なった時 |
イベントと重なった瞬間に実行するイベントを起動 |
|
0011 |
キーを押した |
決定キーや取り消しキーを押した時にON(二重起動防止用) |
変数 |
番号 |
名前 |
使用内容 |
0001 |
位置:横−9 |
中心から左に9ピクセルの位置を設定 |
0002 |
位置:横−8 |
中心から左に8ピクセルの位置を設定 |
0003 |
位置:横中心 |
横の中心位置を設定 |
0004 |
位置:横+7 |
中心から右に7ピクセルの位置を設定 |
0005 |
位置:横+8 |
中心から右に8ピクセルの位置を設定 |
0006 |
位置:縦−9 |
中心から上に9ピクセルの位置を設定 |
0007 |
位置:縦−8 |
中心から上に8ピクセルの位置を設定 |
0008 |
位置:縦中心 |
縦の中心位置を設定 |
0009 |
位置:縦+7 |
中心から下に7ピクセルの位置を設定 |
0010 |
位置:縦+8 |
中心から下に8ピクセルの位置を設定 |
|
0011 |
向き |
主人公の現在の向きを記憶 |
0012 |
Y表示位置 |
Y表示位置の計算処理で使用 |
0013 |
アニメ表示時間 |
足踏みの画像切り替えカウントに使用 |
0014 |
キー |
キー入力で使用 |
0015 |
ID |
地形IDやイベントIDを取得する時に使用 |
0016 |
1ページ目 |
イベントの1ページ目を呼び出す時に使用 |
|
0021 |
処理用:横−9 |
変数1番の値をコピーし、移動処理で使用 |
0022 |
処理用:横−8 |
変数2番の値をコピーし、移動処理で使用 |
0023 |
処理用:横中央 |
変数3番の値をコピーし、移動処理で使用 |
0024 |
処理用:横+7 |
変数4番の値をコピーし、移動処理で使用 |
0025 |
処理用:横+8 |
変数5番の値をコピーし、移動処理で使用 |
0026 |
処理用:縦−9 |
変数6番の値をコピーし、移動処理で使用 |
0027 |
処理用:縦−8 |
変数7番の値をコピーし、移動処理で使用 |
0028 |
処理用:縦中央 |
変数8番の値をコピーし、移動処理で使用 |
0029 |
処理用:縦+7 |
変数9番の値をコピーし、移動処理で使用 |
0030 |
処理用:縦+8 |
変数10番の値をコピーし、移動処理で使用 |
|
0031 |
マス:移動方向X |
移動方向のXマス座標を設定 |
0032 |
マス:移動方向Y |
移動方向のYマス座標を設定 |
0033 |
マス:移動方向角X1 |
移動方向の1つ目の角のXマス座標を設定 |
0034 |
マス:移動方向角X2 |
移動方向の1つ目の角のYマス座標を設定 |
0035 |
マス:移動方向角Y1 |
移動方向の2つ目の角のXマス座標を設定 |
0036 |
マス:移動方向角Y2 |
移動方向の2つ目の角のYマス座標を設定 |
0037 |
ドット:計算用X |
ピクセル位置の当たり判定を調べる時に使用 |
0038 |
ドット:計算用Y |
ピクセル位置の当たり判定を調べる時に使用 |
0039 |
重なった時:X |
現在のX座標を記憶(二重起動防止用) |
0040 |
重なった時:Y |
現在のY座標を記憶(二重起動防止用) |
ラベル |
番号 |
使用内容 |
01 |
処理を最初の位置に戻す時に使用
移動不可などがあり、移動処理を中断する時に戻る処理を実行 |
02 |
マス単位の当たり判定の処理を終了させる時に使用
終了させる事でピクセル位置の当たり判定へ処理を移行させる |
03 |
ピクセル位置の当たり判定を終了させ、移動を実行させる |
【スイッチ・変数・ラベルの一覧表を表示】
■マップイベント「主人公の操作」
▼1ページ目
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明
◆条件分岐:スイッチ[0001:通行チェック]がON
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スイッチ[0003:実行:触れた時]がON
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スイッチ[0004:実行:向かって決定]がON
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スイッチ[0005:実行:重なって決定]がON
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スイッチ[0006:実行:重なった時]がON
◆イベント処理の中断
◆
:分岐終了
◆スイッチの操作:[0001〜0006]をOFFにする
◆スイッチの操作:[0011:キーを押した]をONにする
◆変数の操作:[0001〜0005]代入,主人公の画面X
◆変数の操作:[0006〜0010]代入,主人公の画面Y
◆変数の操作:[0006〜0010]減算,8
◆変数の操作:[0001:位置:横−9]減算,9
◆変数の操作:[0002:位置:横−8]減算,8
◆変数の操作:[0004:位置:横+7]加算,7
◆変数の操作:[0005:位置:横+8]加算,8
◆変数の操作:[0006:位置:縦−9]減算,9
◆変数の操作:[0007:位置:縦−8]減算,8
◆変数の操作:[0009:位置:縦+7]加算,7
◆変数の操作:[0010:位置:縦+8]加算,8
◆変数の操作:[0011:向き]代入,1
◆変数の操作:[0013:アニメ表示時間]代入,10
◆変数の操作:[0016:1ページ目]代入,1
◆変数の操作:[0039:重なった時:X]代入,変数[0003]の値
◆変数の操作:[0040:重なった時:Y]代入,変数[0008]の値
◆変数の操作:[0039〜0040]除算,16
◆変数の操作:[0012:Y表示位置]代入,変数[0011]の値
◆変数の操作:[0012:Y表示位置]乗算,-816
◆変数の操作:[0012:Y表示位置]加算,変数[0008]の値
◆変数の操作:[0012:Y表示位置]加算,2032
◆ピクチャーの表示:2,主人公,(V[0003],V[0012])
◆キャラクターの動作指定:主人公,すりぬけ開始,一時停止(動作を繰り返す:ON)
◆ウェイト:0.1秒
◆ラベルの設定:1番
◆変数の操作:[0013:アニメ表示時間]加算,1
◆変数の操作:[0013:アニメ表示時間]剰余,24
◆変数の操作:[0012:Y表示位置]代入,変数[0011]の値
◆変数の操作:[0012:Y表示位置]乗算,-816
◆変数の操作:[0012:Y表示位置]加算,変数[0008]の値
◆変数の操作:[0012:Y表示位置]加算,2032
◆条件分岐:変数[0013:アニメ表示時間]が12より小さい(それ以外の場合:ON)
◆条件分岐:変数[0013:アニメ表示時間]が6より小さい
◆変数の操作:[0012:Y表示位置]加算,272
◆
:分岐終了
◆
:それ以外の場合
◆条件分岐:変数[0013:アニメ表示時間]が18より小さい
◆変数の操作:[0012:Y表示位置]減算,272
◆
:分岐終了
◆
:分岐終了
◆ピクチャーの移動:2,(V[0003],V[0012]),0.0秒
◆キー入力の処理:[0014:キー](上・下・左・右・決定・取消/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0014:キー]が0
◆キー入力の処理:[0014:キー](上・下・左・右・決定・取消/オプション:OFF)
◆条件分岐:変数[0014:キー]が0
◆変数の操作:[0013:アニメ表示時間]代入,10
◆スイッチの操作:[0011:キーを押した]をOFFにする
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆注釈:----------------------------------------------------------
: :▼決定キー
: :
◆条件分岐:変数[0014:キー]が5
◆変数の操作:[0013:アニメ表示時間]減算,1
◆条件分岐:スイッチ[0011:キーを押した]がON
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0011:キーを押した]をONにする
◆変数の操作:[0023:処理用:横中心]代入,変数[0003]の値
◆変数の操作:[0028:処理用:縦中心]代入,変数[0008]の値
◆条件分岐:変数[0011:向き]が2
◆変数の操作:[0031:マス:移動方向X]代入,変数[0001]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0008]の値
◆
:分岐終了
◆条件分岐:変数[0011:向き]が3
◆変数の操作:[0031:マス:移動方向X]代入,変数[0005]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0008]の値
◆
:分岐終了
◆条件分岐:変数[0011:向き]が4
◆変数の操作:[0031:マス:移動方向X]代入,変数[0003]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0006]の値
◆
:分岐終了
◆条件分岐:変数[0011:向き]が1
◆変数の操作:[0031:マス:移動方向X]代入,変数[0003]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0010]の値
◆
:分岐終了
◆変数の操作:[0023〜0032]除算,16
◆注釈:-----------------------------
: :▼足元のマスを検索
: :
◆指定位置のイベントID取得:(V[0023],V[0028]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0005:実行:重なって決定]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0005:実行:重なって決定]をOFFにする
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方のマスを検索
: : (足元と同じマス座標の場合は検索しない)
: :
◆条件分岐:変数[0023:処理用:横中心]がV[0031]と同値<足元と同じX座標
◆条件分岐:変数[0028:処理用:縦中心]がV[0032]と同値<足元と同じY座標
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0004:実行:向かって決定]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0004:実行:向かって決定]をOFFにする
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:----------------------------------------------------------
: :▼取り消しキー
: :
◆条件分岐:変数[0014:キー]が6
◆変数の操作:[0013:アニメ表示時間]減算,1
◆条件分岐:スイッチ[0011:キーを押した]がON
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0011:キーを押した]をONにする
◆メニュー画面の呼び出し
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0011:キーを押した]をOFFにする
◆注釈:----------------------------------------------------------
: :▼マス座標で当たり判定を読み取る
: :
◆変数の操作:[0011:向き]代入,変数[0014]の値
◆変数の操作:[0021:処理用:横−9]代入,変数[0001]の値
◆変数の操作:[0022:処理用:横−8]代入,変数[0002]の値
◆変数の操作:[0023:処理用:横中心]代入,変数[0003]の値
◆変数の操作:[0024:処理用:横+7]代入,変数[0004]の値
◆変数の操作:[0025:処理用:横+8]代入,変数[0005]の値
◆変数の操作:[0026:処理用:縦−9]代入,変数[0006]の値
◆変数の操作:[0027:処理用:縦−8]代入,変数[0007]の値
◆変数の操作:[0028:処理用:縦中心]代入,変数[0008]の値
◆変数の操作:[0029:処理用:縦+7]代入,変数[0009]の値
◆変数の操作:[0030:処理用:縦+8]代入,変数[0010]の値
◆注釈:-----------------------------
: :▼左移動
: :
◆条件分岐:変数[0011:向き]が2
◆条件分岐:変数[0023:処理用:横中心]が8以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0021]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0028]の値
◆変数の操作:[0031〜0032]除算,16
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0003]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆スイッチの操作:[0003:実行:触れた時]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0021〜0025]減算,2
◆変数の操作:[0031〜0032]乗算,16
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値
◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値
◆注釈:-----------------------------
: :▼角のチェック(左上)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0022]の値
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0027]の値
◆変数の操作:[0036:マス:移動方向角Y2]代入,変数[0029]の値
◆変数の操作:[0033〜0036]除算,16
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(左下)
: :
◆指定位置の地形ID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼右移動
: :
◆条件分岐:変数[0011:向き]が3<右キーを押した時
◆条件分岐:変数[0003:位置:横中心]が312以上
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0025]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0028]の値
◆変数の操作:[0031〜0032]除算,16
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0003]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆スイッチの操作:[0003:実行:触れた時]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0021〜0025]加算,2
◆変数の操作:[0031〜0032]乗算,16
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値
◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値
◆注釈:-----------------------------
: :▼角のチェック(右上)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0024]の値
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0027]の値
◆変数の操作:[0036:マス:移動方向角Y2]代入,変数[0029]の値
◆変数の操作:[0033〜0036]除算,16
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(右下)
: :
◆指定位置の地形ID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0036]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0026〜0030]加算,変数[0032]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼上移動
: :
◆条件分岐:変数[0011:向き]が4
◆条件分岐:変数[0008:位置:縦中心]が8以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0023]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0026]の値
◆変数の操作:[0031〜0032]除算,16
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0003]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆スイッチの操作:[0003:実行:触れた時]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0026〜0030]減算,2
◆変数の操作:[0031〜0032]乗算,16
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値
◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値
◆注釈:-----------------------------
: :▼角のチェック(左上)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0022]の値
◆変数の操作:[0034:マス:移動方向角X2]代入,変数[0024]の値
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0027]の値
◆変数の操作:[0033〜0036]除算,16
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(右上)
: :
◆指定位置の地形ID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼下移動
: :
◆条件分岐:変数[0011:向き]が1
◆条件分岐:変数[0008:位置:縦中心]が232以上
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆注釈:-----------------------------
: :▼前方の移動可能を確認
: :
◆変数の操作:[0031:マス:移動方向X]代入,変数[0023]の値
◆変数の操作:[0032:マス:移動方向Y]代入,変数[0030]の値
◆変数の操作:[0031〜0032]除算,16
◆指定位置の地形ID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0031],V[0032]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0003]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆スイッチの操作:[0003:実行:触れた時]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0026〜0030]加算,2
◆変数の操作:[0031〜0032]乗算,16
◆変数の操作:[0031:マス:移動方向X]減算,変数[0022]の値
◆変数の操作:[0032:マス:移動方向Y]減算,変数[0027]の値
◆注釈:-----------------------------
: :▼角のチェック(左下)
: :
◆変数の操作:[0033:マス:移動方向角X1]代入,変数[0022]の値
◆変数の操作:[0034:マス:移動方向角X2]代入,変数[0024]の値
◆変数の操作:[0035:マス:移動方向角Y1]代入,変数[0029]の値
◆変数の操作:[0033〜0036]除算,16
◆指定位置の地形ID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0033],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:-----------------------------
: :▼角のチェック(右下)
: :
◆指定位置の地形ID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が2
◆変数の操作:[0021〜0025]加算,変数[0031]の値
指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆指定位置のイベントID取得:(V[0034],V[0035]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0001〜0002]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0001:通行チェック]をOFFにする
◆条件分岐:スイッチ[0002:通行可能]がOFF
◆変数の操作:[0021〜0025]加算,変数[0031]の値
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆ラベルの設定:2番
◆注釈:----------------------------------------------------------
: :▼ピクセル位置で当たり判定を読み取る
: : サイズ:横64×縦40、位置:横260×縦60
: :
◆変数の操作:[0037:ドット:計算用X]代入,変数[0023]の値
◆変数の操作:[0038:ドット:計算用Y]代入,変数[0028]の値
◆変数の操作:[0037:ドット:計算用X]減算,260
◆変数の操作:[0038:ドット:計算用Y]減算,60
◆条件分岐:変数[0011:向き]が2(それ以外の場合:ON)
◆条件分岐:変数[0037:ドット:計算用X]が-40以下
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が40以上
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-20以上
◆条件分岐:変数[0038:ドット:計算用Y]が20以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-28より大きい
◆条件分岐:変数[0038:ドット:計算用Y]が28より小さい
◆条件分岐:変数[0037:ドット:計算用X]が38
◆条件分岐:変数[0038:ドット:計算用Y]が0以下(それ以外の場合:ON)
◆変数の操作:[0038:ドット:計算用Y]加算,28
◆変数の操作:[0026〜0030]減算,変数[0038]の値
◆
:それ以外の場合
◆変数の操作:[0038:ドット:計算用Y]減算,28
◆変数の操作:[0026〜0030]減算,変数[0038]の値
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:それ以外の場合
◆条件分岐:変数[0011:向き]が3(それ以外の場合:ON)
◆条件分岐:変数[0037:ドット:計算用X]が-40以下
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が40以上
◆◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-20以上
◆条件分岐:変数[0038:ドット:計算用Y]が20以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が-28より大きい
◆条件分岐:変数[0038:ドット:計算用Y]が28より小さい
◆条件分岐:変数[0037:ドット:計算用X]が-38
◆条件分岐:変数[0038:ドット:計算用Y]が0以下(それ以外の場合:ON)
◆変数の操作:[0038:ドット:計算用Y]加算,28
◆変数の操作:[0026〜0030]減算,変数[0038]の値
◆
:それ以外の場合
◆変数の操作:[0038:ドット:計算用Y]減算,28
◆変数の操作:[0026〜0030]減算,変数[0038]の値
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:それ以外の場合
◆条件分岐:変数[0038:ドット:計算用Y]が-28以下
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0038:ドット:計算用Y]が28以上
◆指定ラベルへ飛ぶ:3番
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が-32以上
◆条件分岐:変数[0037:ドット:計算用X]が32以下
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0037:ドット:計算用X]が-40より大きい
◆条件分岐:変数[0037:ドット:計算用X]が40より小さい
◆条件分岐:変数[0011:向き]が4(それ以外の場合:ON)
◆条件分岐:変数[0038:ドット:計算用Y]が26
◆条件分岐:変数[0037:ドット:計算用X]が0以下(それ以外の場合:ON)
◆変数の操作:[0037:ドット:計算用X]加算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:それ以外の場合
◆変数の操作:[0037:ドット:計算用X]減算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:分岐終了
◆
:分岐終了
◆
:それ以外の場合
◆条件分岐:変数[0038:ドット:計算用Y]が-26
◆条件分岐:変数[0037:ドット:計算用X]が0以下(それ以外の場合:ON)
◆変数の操作:[0037:ドット:計算用X]加算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:それ以外の場合
◆変数の操作:[0037:ドット:計算用X]減算,40
◆変数の操作:[0021〜0025]減算,変数[0037]の値
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆ラベルの設定:3番
◆注釈:----------------------------------------------------------
◆変数の操作:[0001:位置:横−9]代入,変数[0021]の値
◆変数の操作:[0002:位置:横−8]代入,変数[0022]の値
◆変数の操作:[0003:位置:横中心]代入,変数[0023]の値
◆変数の操作:[0004:位置:横+7]代入,変数[0024]の値
◆変数の操作:[0005:位置:横+8]代入,変数[0025]の値
◆変数の操作:[0006:位置:縦−9]代入,変数[0026]の値
◆変数の操作:[0007:位置:縦−8]代入,変数[0027]の値
◆変数の操作:[0008:位置:縦中心]代入,変数[0028]の値
◆変数の操作:[0009:位置:縦+7]代入,変数[0029]の値
◆変数の操作:[0010:位置:縦+8]代入,変数[0030]の値
◆注釈:----------------------------------------------------------
: :▼重なったら実行
: :
◆変数の操作:[0023:処理用:横中心]代入,変数[0003]の値
◆変数の操作:[0028:処理用:縦中心]代入,変数[0008]の値
◆変数の操作:[0023〜0028]除算,16
◆条件分岐:変数[0039:重なった時:X]がV[0023]と同値
◆条件分岐:変数[0040:重なった時:Y]がV[0028]と同値<前に移動した時と同じマス座標である時
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0039:重なった時:X]代入,変数[0023]の値
◆変数の操作:[0040:重なった時:Y]代入,変数[0028]の値
◆指定位置のイベントID取得:(V[0023],V[0028]),[0015:ID]
◆条件分岐:変数[0015:ID]が1以上
◆スイッチの操作:[0006:実行:重なった時]をONにする
◆イベントの呼び出し:V[15][V[16]]
◆スイッチの操作:[0006:実行:重なった時]をOFFにする
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
ピクチャーキャラの処理では、
「イベント開始条件」や「プライオリティタイプ」の設定も独自に行う必要があります。
マップ内の全てのマップイベントの1ページ目に、
そのマップイベントに合わせた設定を行ってください。
▼イベントに向かって触れた時
イベント開始条件 |
主人公から触れたとき |
プライオリティタイプ |
通常キャラと重ならない |
◆条件分岐:スイッチ[0001:通行チェック]がON
◆スイッチの操作:[0002:通行可能]をOFFにする
◆条件分岐:スイッチ[0003:実行:触れた時]がON
◆〜ここに触れた時のイベントを設定〜
◆
:分岐終了
◆イベント処理の中断
◆
:分岐終了
◆ |
▼イベントに向かって決定キー
イベント開始条件 |
決定キーが押されたとき |
プライオリティタイプ |
通常キャラと重ならない |
◆条件分岐:スイッチ[0001:通行チェック]がON
◆スイッチの操作:[0002:通行可能]をOFFにする
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スイッチ[0004:実行:向かって決定]がON
◆〜ここに決定キーが押された時のイベントを設定〜
◆イベント処理の中断
◆
:分岐終了
◆ |
▼イベントと重なって決定キー
イベント開始条件 |
決定キーが押されたとき |
プライオリティタイプ |
通常キャラの下 |
◆条件分岐:スイッチ[0001:通行チェック]がON
◆スイッチの操作:[0002:通行可能]をOFFにする
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スイッチ[0005:実行:重なって決定]がON
◆〜ここに重なって決定キーが押された時のイベントを設定〜
◆イベント処理の中断
◆
:分岐終了
◆ |
▼イベントと重なった時に実行
イベント開始条件 |
主人公から触れたとき |
プライオリティタイプ |
通常キャラの下 |
◆条件分岐:スイッチ[0001:通行チェック]がON
◆スイッチの操作:[0002:通行可能]をOFFにする
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スイッチ[0006:実行:触れた時]がON
◆〜ここに重なった時に実行するイベントを設定〜
◆イベント処理の中断
◆
:分岐終了
◆ |
以上で設定完了です。
▲トップへ戻る▲
◎関連ページ
●ドット移動処理(ピクチャーキャラ)について
┣○ピクチャーキャラの操作処理
┗○ピクチャーキャラの当たり判定 |