行 |
処理内容 |
0-8 |
■回数付きループ [ 1 ]回 |
初期値の設定を行います。 |
|
1-5 |
▼ ★ユーザのパラメータ設定箇所。自由に設定して構いません!
▼ ※最高速度を10で割り切れる値にしないと移動時に「仲間」が震えます。主人公一人なら好きな値でOK! |
セルフ[95-97]に初期値を設定。 |
|
6 |
▼ ★パラメータ設定ここまで 。ここから下をいじるのは内容を理解した上でお願いします! |
9-43 |
■回数付きループ [ 1 ]回 |
ピクセル移動の実行開始や実行終了を処理。 |
この中の処理は、並列実行によるコモンイベントの処理ではなく、
マップイベントからコモンイベントを呼び出した時の処理になります。
そのため、実行開始、または実行終了を処理したあとに【イベント処理中断】を実行して、
呼び出し元のマップイベントに処理を戻すようにしています。 |
|
10 |
▼ これは「呼び出し」されたときの処理で起動条件のオンオフを行う 。並列時は通らない |
|
11-19 |
■条件分岐(変数): 【1】 CSelf0[モード] が 1 と同じ |
ピクセル移動を起動する場合は分岐。 |
|
|
13 |
▼ ピクセル移動ONにする |
|
|
14 |
セルフ[0]に「0」を設定し、1回だけ実行するようにする。 |
|
|
15-16 |
▼ 仲間を主人公の場所へ移動 |
後続の仲間を全て先頭の主人公の所に集合させる。 |
|
|
17-18 |
▼ 並列実行開始 |
セルフ[99]に「1」を代入し、このコモンイベントの並列実行を実行させます。 |
|
|
19 |
【イベント処理中断】で呼び出し元のマップイベントに処理を戻す。 |
|
21-39 |
◇分岐: 【2】 [ CSelf0[モード] が -1 と同じ ]の場合↓ |
ピクセル移動を終了させる場合は分岐。 |
|
|
22 |
▼ OFFにする 主人公のピクセル移動XYを0リセット |
|
|
23 |
セルフ[0]に「0」を設定し、1回だけ実行するようにする。 |
|
|
24-26 |
▼ 通常移動を可能にし、主人公の状態を元に戻す |
通常通りに主人公の行動ができるようにする。 |
|
|
27-33 |
▼ Ver3.10でエフェクトに変更↓ |
強制的に移動アニメが実行し続ける状態をOFFにします。 |
|
|
34-35 |
▼ 仲間を主人公の場所へ移動 |
後続の仲間を全て先頭の主人公の所に集合させる。 |
|
|
36-41 |
▼ ピクセル補正値を0に戻す
▼ 戻さないと予想外のところで引っかかったり1マス幅のところが通り抜けられなくなったりします |
変数呼び出し値を使って、主人公のピクセル単位の表示位置の補正を「0」にして、
マスの中心に表示されるように設定。 |
|
|
42-43 |
▼ 並列実行を終了 |
セルフ[99]に「0」を代入し、このコモンイベントの並列実行を停止させます。 |
|
|
44 |
【イベント処理中断】で呼び出し元のマップイベントに処理を戻す。 |
49 |
▼ ここからキー入力に応じたピクセル移動の挙動を処理します |
50-283 |
■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ |
イベント実行中では無い時に分岐し、ピクセル移動を処理。 |
|
52-53 |
▼ キーによる通常移動を禁止し、コモンイベント内の「ピクセル移動」コマンドだけでキャラを動かします |
方向キーを押しても主人公が移動しないように設定。 |
|
54-56 |
▼ 押し続けた方向に加速する
▼ 上下キー判定 |
|
57-58 |
セルフ[13][14]にセルフ[95]を代入。 |
|
59-63 |
■条件分岐(変数): 【1】 CSelf20[上下方向キー] が 8 と同じ |
上キーを押している場合は分岐。 |
|
|
61-63 |
▼ 上 |
セルフ[12]に1フレームの加速量を減算し、セルフ[12]が最高速度以下になるように補正。 |
|
65-68 |
◇分岐: 【2】 [ CSelf20[上下方向キー] が 2 と同じ ]の場合↓ |
下キーを押している場合は分岐。 |
|
|
66-68 |
▼ 下 |
セルフ[12]に1フレームの加速量を加算し、セルフ[12]が最高速度以下になるように補正。 |
|
70-74 |
◇上記以外 |
上下キーを押していない場合は分岐。 |
|
|
71-74 |
▼ 速度中和 |
1フレームごとに縦の移動速度を徐々に下げる。 |
|
77 |
▼ 左右キー判定 |
|
79-83 |
■条件分岐(変数): 【1】 CSelf21[左右方向キー] が 4 と同じ |
左キーを押している場合は分岐。 |
|
|
81-83 |
▼ 左 |
セルフ[11]に1フレームの加速量を減算し、セルフ[11]が最高速度以下になるように補正。 |
|
85-88 |
◇分岐: 【2】 [ CSelf21[左右方向キー] が 6 と同じ ]の場合↓ |
右キーを押している場合は分岐。 |
|
|
86-88 |
▼ 右 |
セルフ[11]に1フレームの加速量を加算し、セルフ[11]が最高速度以下になるように補正。 |
|
90-94 |
◇上記以外 |
左右キーを押していない場合は分岐。 |
|
|
91-94 |
▼ 速度中和 |
1フレームごとに横の移動速度を徐々に下げる。 |
|
97-99 |
▼ 「余り値」に速度を加算 |
セルフ[15〜16]にセルフ[11〜12]の値(現フレームの移動量)を加算。 |
|
100-101 |
▼ 余り値が10以上になってたら移動 |
セルフ[10]に主人公のピクセル単位のX表示位置の補正に使う「変数呼び出し値」を設定。 |
|
102-103 |
セルフ[17〜18]に「0」を設定。
このセルフ[17〜18]には、移動するピクセル量を設定します。 |
|
104-108 |
■条件分岐(変数): 【1】 CSelf15[内部余り値X[1/10]] が 10 以上 |
右に移動させる場合は分岐。(10=右に1ピクセル移動) |
|
|
106 |
セルフ[17]に今回の移動量を設定。 |
|
|
107-108 |
▼ 移動した分、余り値から引く |
セルフ[15]に「9以下」の値が残るようにする。 |
|
110-113 |
◇分岐: 【2】 [ CSelf15[内部余り値X[1/10]] が -10 以下 ]の場合↓ |
左に移動させる場合は分岐。(-10=左に1ピクセル移動) |
|
|
111 |
セルフ[17]に今回の移動量を設定。 |
|
|
112-113 |
▼ 移動した分、余り値から引く |
セルフ[15]に「-9以上」の値が残るようにする。 |
|
116 |
セルフ[10]に主人公のピクセル単位のY表示位置の補正に使う「変数呼び出し値」を設定。 |
|
117-121 |
■条件分岐(変数): 【1】 CSelf16[内部余り値Y[1/10]] が 10 以上 |
下に移動させる場合は分岐。(10=下に1ピクセル移動) |
|
|
119 |
セルフ[18]に今回の移動量を設定。 |
|
|
120-121 |
▼ 移動した分、余り値から引く |
セルフ[16]に「9以下」の値が残るようにする。 |
|
123-126 |
◇分岐: 【2】 [ CSelf16[内部余り値Y[1/10]] が -10 以下 ]の場合↓ |
上に移動させる場合は分岐。(-10=上に1ピクセル移動) |
|
|
124 |
セルフ[18]に今回の移動量を設定。 |
|
|
125-126 |
▼ 移動した分、余り値から引く |
セルフ[16]に「-9以上」の値が残るようにする。 |
|
129-130 |
▼ 移動 |
【キャラエフェクト】を使って主人公のピクセル表示位置を移動。 |
|
131-135 |
■回数付きループ [ 0 ]回 |
デバッグ用の設定です。
現在の移動速度を確認する場合は、ループ回数を「1回」に変えてください。 |
|
136-256 |
■回数付きループ [ 1 ]回 |
押している方向キーに合わせて主人公の向きを変える処理を実行。 |
|
|
137-138 |
▼ プレイヤーの向きを指定。何もないと「システム側の移動方向を向く」が、
▼ ここの処理で「押したキー方向」を反映するようにしている |
|
|
139-140 |
向き固定を実行し、システム側が勝手に向きを変えてしまう状態を防ぐ。 |
|
|
141-142 |
▼ 方向 |
セルフ[10]に主人公の向きを操作する「変数呼び出し値」を設定。 |
|
|
143-163 |
■条件分岐(変数): 【1】 CSelf20[上下方向キー] が 0 と同じ |
上下キーを押していない場合は分岐。 |
|
|
|
145-149 |
■条件分岐(変数): 【1】 CSelf21[左右方向キー] が 0 と同じ |
左右キーを押していない場合は分岐。 |
|
|
|
|
147-154 |
▼ 停止 |
上下左右で何も押されていないので、移動アニメを停止。 |
|
|
|
156-165 |
◇分岐: 【2】 [ CSelf21[左右方向キー] が 4 と同じ ]の場合↓ |
左キーを押している場合は分岐。 |
|
|
|
|
157-165 |
▼ 左 |
左向きにして、移動アニメを強制実行。 |
|
|
|
167-176 |
◇分岐: 【3】 [ CSelf21[左右方向キー] が 6 と同じ ]の場合↓ |
右キーを押している場合は分岐。 |
|
|
|
|
168-176 |
▼ 右 |
右向きにして、移動アニメを強制実行。 |
|
|
180-215 |
◇分岐: 【2】 [ CSelf20[上下方向キー] が 8 と同じ ]の場合↓ |
上キーを押している場合は分岐。 |
|
|
|
181-191 |
■条件分岐(変数): 【1】 CSelf21[左右方向キー] が 0 と同じ |
左右キーを押していない場合は分岐。 |
|
|
|
|
183-191 |
▼ 上 |
上向きにして、移動アニメを強制実行。 |
|
|
|
193-202 |
◇分岐: 【2】 [ CSelf21[左右方向キー] が 4 と同じ ]の場合↓ |
上キーと共に左キーも押している場合は分岐。 |
|
|
|
|
194-202 |
▼ 左上 |
左上向きにして、移動アニメを強制実行。 |
|
|
|
204-213 |
◇分岐: 【3】 [ CSelf21[左右方向キー] が 6 と同じ ]の場合↓ |
上キーと共に右キーも押している場合は分岐。 |
|
|
|
|
205-213 |
▼ 右上 |
右上向きにして、移動アニメを強制実行。 |
|
|
217-252 |
◇分岐: 【3】 [ CSelf20[上下方向キー] が 2 と同じ ]の場合↓ |
下キーを押している場合は分岐。 |
|
|
|
218-228 |
■条件分岐(変数): 【1】 CSelf21[左右方向キー] が 0 と同じ |
左右キーを押していない場合は分岐。 |
|
|
|
|
220-228 |
▼ 下 |
下向きにして、移動アニメを強制実行。 |
|
|
|
230-239 |
◇分岐: 【2】 [ CSelf21[左右方向キー] が 4 と同じ ]の場合↓ |
下キーと共に左キーも押している場合は分岐。 |
|
|
|
|
231-239 |
▼ 左下 |
左下向きにして、移動アニメを強制実行。 |
|
|
|
241-250 |
◇分岐: 【3】 [ CSelf21[左右方向キー] が 6 と同じ ]の場合↓ |
下キーと共に右キーも押している場合は分岐。 |
|
|
|
|
242-250 |
▼ 右下 |
右下向きにして、移動アニメを強制実行。 |
258-276 |
◇上記以外 |
イベント実行中の場合は分岐し、徐々に速度を落としながらピクセル移動を停止させる。 |
|
259-260 |
▼ こちらは「イベント中」。時間経過で速度を中和していく。
▼ (一瞬で終わるイベントなら減速させないため) |
|
261-266 |
■条件分岐(変数): 【1】 CSelf98[向き固定中] が 1 と同じ |
イベント実行を開始した直後の場合は分岐。 |
|
|
263-271 |
向き固定を解除し、移動アニメの強制実行を解除。 |
|
274-281 |
▼ X速度中和 |
徐々に移動速度の数値を下げます。
ここでは移動速度の数値を下げるだけ(変数の値を減らすだけ)になるため、
主人公の移動自体は停止した状態になります。 |
一気に変数の値を「0」にしない理由は「プレイヤー接触+すり抜け」のマップイベントの実行時に、
「ウェイト:1フレーム」程度を実行しただけで移動速度が「0」にならないようにするためです。 |