RPGツクール2000/自作戦闘【サイトトップへ戻る】
ピクチャー弾丸を飛ばす
■画面スクロールに対応させる
(更新:2020/07/05)
ピクチャー弾丸を飛ばすイベントを画面スクロールに対応させます。
※この色の部分はピクチャー弾丸を飛ばすのページにあった部分です。
■画面スクロールに対応とは?
弾丸発射
|
→ |
左へ移動
|
|
本来は水色の線の位置で移動して、
黄色い丸の位置に弾丸が来なければいけません。 |
しかしピクチャーの表示は、
画面のスクロールに関係なく表示されるため、
主人公が左に移動すると、
それに合わせてピクチャーの表示位置も左に移動します。 |
画面がスクロールしても、ピクチャーの弾丸を真っ直ぐ移動させるためには、
画面スクロールに合わせて弾丸の表示位置を変えていく必要があります。
弾丸の表示位置をずらす処理は、まず主人公が別のマスへ移動しているかどうかを調べます。
もしも別のマスへ移動し始めた時には、主人公の画面の位置を調べます。
そして主人公の画面位置がX152、Y128である時には「画面がスクロールした」と判断して、
ピクチャーの表示位置をずらします。
▲トップへ戻る▲
■画面スクロールの発生タイミング
画面スクロールの発生は、マップサイズが「横20マス」「縦15マス」より大きい時と、
マップの設定にてループ設定が行われている時に、画面スクロールは発生します。
マップのループが設定されていない場合、マップの端へ移動すると、画面スクロールが行われません。
イベント設定では、主人公の移動時に画面スクロールが行われているかどうかを調べ、
もしも画面スクロールが行われている時には、弾丸の表示位置をずらすようにします。
マップのループが設定されている時には、主人公の移動時に必ず画面スクロールが行われるので、
主人公の移動時には必ず弾丸の表示位置をずらす設定を行います。
▲トップへ戻る▲
■スイッチ・変数
スイッチと変数の番号と使用内容の一覧表です。
スイッチ |
番号 |
名前 |
使用内容 |
初使用ページ |
0001 |
システム起動 |
初期設定が終わったらON→弾丸処理実行。 |
基礎 |
0004 |
画面スクロールX |
横の画面スクロールを行う時にON。※ループ設定なしで使用。 |
当ページ |
0005 |
画面スクロールX |
縦の画面スクロールを行う時にON。※ループ設定なしで使用。 |
当ページ |
|
0011 |
弾丸移動中01 |
ONの時には弾丸01は移動中。 |
基礎 |
0012 |
弾丸移動中02 |
ONの時には弾丸02は移動中。 |
基礎 |
0013 |
弾丸移動中03 |
ONの時には弾丸03は移動中。 |
基礎 |
変数 |
番号 |
名前 |
使用内容 |
初使用ページ |
0001 |
キー入力 |
決定キーが押されているかどうかを判断する時に使用。 |
基礎 |
0002 |
移動距離 |
ピクチャー弾丸が移動する距離(射程)を設定。 |
基礎 |
0003 |
X± |
向きに合わせて1回の処理で移動するXの移動量を設定。 |
基礎 |
0004 |
Y± |
向きに合わせて1回の処理で移動するYの移動量を設定。 |
基礎 |
0005 |
X座標 |
弾丸の位置のX座標を設定。 |
当たり判定 |
0006 |
Y座標 |
弾丸の位置のY座標を設定。 |
当たり判定 |
|
0021 |
キーカウント |
弾丸が発射して、次の弾丸が発射するまでの間をカウント。 |
基礎 |
|
0031 |
弾丸移動量01 |
発射時から1ずつ加算していき、
変数[0002:移動距離]以上の値になったら弾丸01を消去。 |
基礎 |
0032 |
弾丸移動量02 |
発射時から1ずつ加算していき、
変数[0002:移動距離]以上の値になったら弾丸02を消去。 |
基礎 |
0033 |
弾丸移動量03 |
発射時から1ずつ加算していき、
変数[0002:移動距離]以上の値になったら弾丸03を消去。 |
基礎 |
|
0041 |
弾丸01X |
弾丸01のX位置を記憶。 |
基礎 |
0042 |
弾丸02X |
弾丸02のX位置を記憶。 |
基礎 |
0043 |
弾丸03X |
弾丸03のX位置を記憶。 |
基礎 |
0051 |
弾丸01Y |
弾丸01のY位置を記憶。 |
基礎 |
0052 |
弾丸02Y |
弾丸02のY位置を記憶。 |
基礎 |
0053 |
弾丸03Y |
弾丸03のY位置を記憶。 |
基礎 |
|
0061 |
弾丸01X± |
弾丸01の1回のXの移動量を記憶。 |
基礎 |
0062 |
弾丸02X± |
弾丸02の1回のXの移動量を記憶。 |
基礎 |
0063 |
弾丸03X± |
弾丸03の1回のXの移動量を記憶。 |
基礎 |
0071 |
弾丸01Y± |
弾丸01の1回のYの移動量を記憶。 |
基礎 |
0072 |
弾丸02Y± |
弾丸02の1回のYの移動量を記憶。 |
基礎 |
0073 |
弾丸03Y± |
弾丸03の1回のYの移動量を記憶。 |
基礎 |
|
0161 |
XY |
主人公のマス情報を代入。 |
当ページ |
0162 |
前のXY |
変数0161番と比べて値が異なる場合は、移動したと判断。 |
当ページ |
0163 |
ずらす回数 |
画面スクロールに合わせてずらす回数を設定。 |
当ページ |
0164 |
ずらす量X |
画面スクロールに合わせて弾丸の表示位置をずらす値を設定。 |
当ページ |
0165 |
ずらす量Y |
画面スクロールに合わせて弾丸の表示位置をずらす値を設定。 |
当ページ |
0166 |
位置調整X |
画面スクロール時のマス座標の計算のずれを修正する時に使用。 |
当ページ |
0167 |
位置調整Y |
画面スクロール時のマス座標の計算のずれを修正する時に使用。 |
当ページ |
0168 |
主人公の画面位置 |
主人公の画面位置を出力。 |
当ページ |
0169 |
画面スクロールX+ |
横にスクロールしたピクセル数を設定。 |
当ページ |
0170 |
画面スクロールY+ |
縦にスクロールしたピクセル数を設定。 |
当ページ |
0171 |
マップサイズX |
マップの横のマス数を設定。※ループ設定ありで使用。 |
当ページ |
0172 |
マップサイズY |
マップの縦のマス数を設定。※ループ設定ありで使用。 |
当ページ |
【スイッチ・変数の一覧表を開く】
変数0161番の値は、X座標を1000倍して、Y座標を加算して設定します。
例:「X=32、Y=6」の場合は、変数0161番の値は「32006」になります。
■変数0169、0170番について
変数[0169:画面スクロールX+]と変数[0170:画面スクロールY+]は、
マップの左上をX0、Y0として、画面がスクロールしたピクセル距離を設定します。
この場合は、マップの左上が見えているので…
変数0169番=0
変数0170番=0
になります。
▼右に1歩移動
この場合は、マップの左上から右に16ピクセル移動したので…
変数0169番=16
変数0170番=0
になります。
X座標が「10」の時に上向きで弾丸を発射すると、弾丸のX位置は「152」になります。
弾丸のX位置を「除算16」で計算すると、
「152÷16=9」と言う結果になり、弾丸はX座標「10」の所を飛んでいるのに、
当たり判定はX座標「9」のマスを調べてしまいます。
しかし弾丸のX位置に変数0169番を加算してから「除算16」にする事で、
「(152+16)÷16=10」となり、弾丸が飛んでいるX座標「10」の当たり判定を調べるようになります。
▲トップへ戻る▲
■ループ設定の無い画面スクロール
ループ設定の無いマップでの画面スクロールの設定を行います。
※ループ設定ありの場合は、下記の■ループ設定がある画面スクロールをご覧ください。
▼■ループ設定がある画面スクロールの所までジャンプ
※初期設定の設定は基礎ページと変わりません。
■コモンイベント「弾丸処理」
出現条件スイッチ:[0001:システム起動]
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆注釈:------------------------------------------------------------
: :弾丸発射
: :
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0001:キー入力]が0
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆
:分岐終了
◆条件分岐:変数[0021:キーカウント]が0より小さい
◆変数の操作:[0001:キー入力]代入,0
◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が5
◆変数の操作:[0003〜0004]代入,0
◆条件分岐:主人公が左に向いている
◆変数の操作:[0003:X±]代入,-4
◆
:分岐終了
◆条件分岐:主人公が右に向いている
◆変数の操作:[0003:X±]代入,4
◆
:分岐終了
◆条件分岐:主人公が上に向いている
◆変数の操作:[0004:Y±]代入,-4
◆
:分岐終了
◆条件分岐:主人公が下に向いている
◆変数の操作:[0004:Y±]代入,4
◆
:分岐終了
◆条件分岐:スイッチ[0011:弾丸移動中01]がOFF
◆スイッチの操作:[0011:弾丸移動中01]をONにする
◆変数の操作:[0021:キーカウント]代入,-10
◆変数の操作:[0031:弾丸移動量01]代入,0
◆変数の操作:[0041:弾丸01X]代入,主人公の画面X
◆変数の操作:[0051:弾丸01Y]代入,主人公の画面Y
◆変数の操作:[0051:弾丸01Y]減算,8
◆変数の操作:[0061:弾丸01X±]代入,変数[0003]の値
◆変数の操作:[0071:弾丸01Y±]代入,変数[0004]の値
◆効果音の演奏:打撃4
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆条件分岐:スイッチ[0012:弾丸移動中02]がOFF
◆スイッチの操作:[0012:弾丸移動中02]をONにする
◆変数の操作:[0021:キーカウント]代入,-10
◆変数の操作:[0032:弾丸移動量02]代入,0
◆変数の操作:[0042:弾丸02X]代入,主人公の画面X
◆変数の操作:[0052:弾丸02Y]代入,主人公の画面Y
◆変数の操作:[0052:弾丸02Y]減算,8
◆変数の操作:[0062:弾丸02X±]代入,変数[0003]の値
◆変数の操作:[0072:弾丸02Y±]代入,変数[0004]の値
◆効果音の演奏:打撃4
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆条件分岐:スイッチ[0013:弾丸移動中03]がOFF
◆スイッチの操作:[0013:弾丸移動中03]をONにする
◆変数の操作:[0021:キーカウント]代入,-10
◆変数の操作:[0033:弾丸移動量03]代入,0
◆変数の操作:[0043:弾丸03X]代入,主人公の画面X
◆変数の操作:[0053:弾丸03Y]代入,主人公の画面Y
◆変数の操作:[0053:弾丸03Y]減算,8
◆変数の操作:[0063:弾丸03X±]代入,変数[0003]の値
◆変数の操作:[0073:弾丸03Y±]代入,変数[0004]の値
◆効果音の演奏:打撃4
◆
:分岐終了
◆ラベルの設定:2番
◆
:分岐終了
◆注釈:------------------------------------------------------------
: :画面スクロール
: :
◆変数の操作:[0161:XY]代入,主人公のX座標
◆変数の操作:[0161:XY]乗算,1000
◆変数の操作:[0161:XY]加算,主人公のY座標
◆条件分岐:変数[0162:前のXY]がV[0161]以外<別のマスへ移動した時
◆変数の操作:[0162:前のXY]代入,変数[0161]の値
◆変数の操作:[0163:ずらす回数]代入,8
◆変数の操作:[0164〜0167]代入,0
◆条件分岐:主人公が左を向いている<主人公が左へ移動した時
◆変数の操作:[0164:ずらす量X]代入,2
◆変数の操作:[0166:位置調整X]代入,16
◆
:分岐終了
◆条件分岐:主人公が右を向いている<主人公が右へ移動した時
◆変数の操作:[0164:ずらす量X]代入,-2
◆変数の操作:[0166:位置調整X]代入,-16
◆
:分岐終了
◆条件分岐:主人公が上を向いている<主人公が上へ移動した時
◆変数の操作:[0165:ずらす量Y]代入,2
◆変数の操作:[0167:位置調整Y]代入,16
◆
:分岐終了
◆条件分岐:主人公が下を向いている<主人公が下へ移動した時
◆変数の操作:[0165:ずらす量Y]代入,-2
◆変数の操作:[0167:位置調整Y]代入,-16
◆
:分岐終了
◆スイッチの操作:[0004〜0005]をONにする
◆変数の操作:[0168:画面位置出力]代入,主人公の画面X
◆条件分岐:変数[0168:画面位置出力]が152以外<主人公が画面の中央にいない時
◆スイッチの操作:[0004:画面スクロールX]をOFFにする
◆
:分岐終了
◆変数の操作:[0168:画面位置出力]代入,主人公の画面Y
◆条件分岐:変数[0168:画面位置出力]が128以外<主人公が画面の中央にいない時
◆スイッチの操作:[0005:画面スクロールY]をOFFにする
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0163:ずらす回数]が1以上<画面のスクロールに合わせて弾丸の表示位置移動
◆変数の操作:[0163:ずらす回数]減算,1
◆条件分岐:スイッチ[0004:画面スクロールX]がON
◆変数の操作:[0041〜0043]加算,変数[0164]の値<左右のずれを調整する
◆
:分岐終了
◆条件分岐:スイッチ[0005:画面スクロールY]がON
◆変数の操作:[0051〜0053]加算,変数[0165]の値<上下のずれを調整する
◆
:分岐終了
◆変数の操作:[0166:位置調整X]減算,変数[0164]の値
◆変数の操作:[0167:位置調整Y]減算,変数[0165]の値
◆
:分岐終了
◆変数の操作:[0169:画面スクロールX+]代入,主人公のX座標
◆変数の操作:[0170:画面スクロールY+]代入,主人公のY座標
◆変数の操作:[0169〜0170]乗算,16
◆変数の操作:[0169:画面スクロールX+]加算,8
◆変数の操作:[0170:画面スクロールY+]加算,16
◆変数の操作:[0169:画面スクロールX+]減算,主人公の画面X
◆変数の操作:[0170:画面スクロールY+]減算,主人公の画面Y
◆変数の操作:[0169:画面スクロールX+]加算,変数[0166]の値
◆変数の操作:[0170:画面スクロールY+]加算,変数[0167]の値
◆注釈:------------------------------------------------------------
: :弾丸移動
: :
◆変数の操作:[0002:移動距離]代入,20
◆変数の操作:[0021〜0033]加算,1
◆条件分岐:スイッチ[0002:弾丸移動中01]がON(オプション:ON)
◆条件分岐:変数[0031:弾丸移動量01]がV[0002]以上
◆スイッチの操作:[0002:弾丸移動中01]をOFFにする
◆
:分岐終了
◆変数の操作:[0041:弾丸01X]加算,変数[0061]の値
◆変数の操作:[0051:弾丸01Y]加算,変数[0071]の値
◆ピクチャーの移動:1,(V[0041],V[0051]),0.0秒(透明度:0%)
◆変数の操作:[0005:X座標]代入,変数[0041]の値
◆変数の操作:[0006:Y座標]代入,変数[0051]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値
◆変数の操作:[0005〜0006]除算,16
◆〜必要に応じて、地形ID取得などを変数0005番、変数0006番を使って設定〜
◆
:それ以外の場合
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆条件分岐:スイッチ[0003:弾丸移動中02]がON(オプション:ON)
◆条件分岐:変数[0032:弾丸移動量02]がV[0002]以上
◆スイッチの操作:[0003:弾丸移動中02]をOFFにする
◆
:分岐終了
◆変数の操作:[0042:弾丸02X]加算,変数[0062]の値
◆変数の操作:[0052:弾丸02Y]加算,変数[0072]の値
◆ピクチャーの移動:2,(V[0042],V[0052]),0.0秒(透明度:0%)
◆変数の操作:[0005:X座標]代入,変数[0042]の値
◆変数の操作:[0006:Y座標]代入,変数[0052]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値
◆変数の操作:[0005〜0006]除算,16
◆〜必要に応じて、地形ID取得などを変数0005番、変数0006番を使って設定〜
◆
:それ以外の場合
◆ピクチャーの移動:2,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆条件分岐:スイッチ[0004:弾丸移動中03]がON(オプション:ON)
◆条件分岐:変数[0033:弾丸移動量03]がV[0002]以上
◆スイッチの操作:[0004:弾丸移動中03]をOFFにする
◆
:分岐終了
◆変数の操作:[0043:弾丸03X]加算,変数[0063]の値
◆変数の操作:[0053:弾丸03Y]加算,変数[0073]の値
◆ピクチャーの移動:3,(V[0043],V[0053]),0.0秒(透明度:0%)
◆変数の操作:[0005:X座標]代入,変数[0043]の値
◆変数の操作:[0006:Y座標]代入,変数[0053]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値
◆変数の操作:[0005〜0006]除算,16
◆〜必要に応じて、地形ID取得などを変数0005番、変数0006番を使って設定〜
◆
:それ以外の場合
◆ピクチャーの移動:3,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
▲トップへ戻る▲
■ループ設定がある画面スクロール
ループ設定のあるマップでの画面スクロールの設定を行います。
■マップイベント「初期設定」
▼1ページ目
イベント出現条件:なし
イベント開始条件:自動的に始まる
◆ピクチャーの表示:1,dan(160,120)(透明度:100%) ◆ピクチャーの表示:2,dan(160,120)(透明度:100%) ◆ピクチャーの表示:3,dan(160,120)(透明度:100%)
◆変数の操作:[0171:マップサイズX]代入,30<このマップの横が30マスの時
◆変数の操作:[0172:マップサイズY]代入,25<このマップの縦が25マスの時 ◆スイッチの操作:[0001:システム起動]をONにする ◆
▼2ページ目
イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:決定キーが押されたとき
イベント実行内容の設定は不要です。 |
■コモンイベント「弾丸処理」
出現条件スイッチ:スイッチ[0001:システム起動]がON
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆注釈:------------------------------------------------------------
: :弾丸発射
: :
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0001:キー入力]が0
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆
:分岐終了
◆条件分岐:変数[0021:キーカウント]が0より小さい
◆変数の操作:[0001:キー入力]代入,0
◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が5
◆変数の操作:[0003〜0004]代入,0
◆条件分岐:主人公が左に向いている
◆変数の操作:[0003:X±]代入,-4
◆
:分岐終了
◆条件分岐:主人公が右に向いている
◆変数の操作:[0003:X±]代入,4
◆
:分岐終了
◆条件分岐:主人公が上に向いている
◆変数の操作:[0004:Y±]代入,-4
◆
:分岐終了
◆条件分岐:主人公が下に向いている
◆変数の操作:[0004:Y±]代入,4
◆
:分岐終了
◆条件分岐:スイッチ[0011:弾丸移動中01]がOFF
◆スイッチの操作:[0011:弾丸移動中01]をONにする
◆変数の操作:[0021:キーカウント]代入,-10
◆変数の操作:[0031:弾丸移動量01]代入,0
◆変数の操作:[0041:弾丸01X]代入,主人公の画面X
◆変数の操作:[0051:弾丸01Y]代入,主人公の画面Y
◆変数の操作:[0051:弾丸01Y]減算,8
◆変数の操作:[0061:弾丸01X±]代入,変数[0003]の値
◆変数の操作:[0071:弾丸01Y±]代入,変数[0004]の値
◆効果音の演奏:打撃4
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆条件分岐:スイッチ[0012:弾丸移動中02]がOFF
◆スイッチの操作:[0012:弾丸移動中02]をONにする
◆変数の操作:[0021:キーカウント]代入,-10
◆変数の操作:[0032:弾丸移動量02]代入,0
◆変数の操作:[0042:弾丸02X]代入,主人公の画面X
◆変数の操作:[0052:弾丸02Y]代入,主人公の画面Y
◆変数の操作:[0052:弾丸02Y]減算,8
◆変数の操作:[0062:弾丸02X±]代入,変数[0003]の値
◆変数の操作:[0072:弾丸02Y±]代入,変数[0004]の値
◆効果音の演奏:打撃4
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆条件分岐:スイッチ[0013:弾丸移動中03]がOFF
◆スイッチの操作:[0013:弾丸移動中03]をONにする
◆変数の操作:[0021:キーカウント]代入,-10
◆変数の操作:[0033:弾丸移動量03]代入,0
◆変数の操作:[0043:弾丸03X]代入,主人公の画面X
◆変数の操作:[0053:弾丸03Y]代入,主人公の画面Y
◆変数の操作:[0053:弾丸03Y]減算,8
◆変数の操作:[0063:弾丸03X±]代入,変数[0003]の値
◆変数の操作:[0073:弾丸03Y±]代入,変数[0004]の値
◆効果音の演奏:打撃4
◆
:分岐終了
◆ラベルの設定:2番
◆
:分岐終了
◆注釈:------------------------------------------------------------
: :画面スクロール
: :
◆変数の操作:[0161:XY]代入,主人公のX座標
◆変数の操作:[0161:XY]乗算,1000
◆変数の操作:[0161:XY]加算,主人公のY座標
◆条件分岐:変数[0162:前のXY]がV[0161]以外<別のマスへ移動した時
◆変数の操作:[0162:前のXY]代入,変数[0161]の値
◆変数の操作:[0163:ずらす回数]代入,8
◆変数の操作:[0164〜0167]代入,0
◆条件分岐:主人公が左を向いている<主人公が左へ移動した時
◆変数の操作:[0164:ずらす量X]代入,2
◆変数の操作:[0166:位置調整X]代入,16
◆
:分岐終了
◆条件分岐:主人公が右を向いている<主人公が右へ移動した時
◆変数の操作:[0164:ずらす量X]代入,-2
◆変数の操作:[0166:位置調整X]代入,-16
◆
:分岐終了
◆条件分岐:主人公が上を向いている<主人公が上へ移動した時
◆変数の操作:[0165:ずらす量Y]代入,2
◆変数の操作:[0167:位置調整Y]代入,16
◆
:分岐終了
◆条件分岐:主人公が下を向いている<主人公が下へ移動した時
◆変数の操作:[0165:ずらす量Y]代入,-2
◆変数の操作:[0167:位置調整Y]代入,-16
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0163:ずらす回数]が1以上<画面のスクロールに合わせて弾丸の表示位置移動
◆変数の操作:[0163:ずらす回数]減算,1
◆変数の操作:[0041〜0043]加算,変数[0164]の値<左右のずれを調整する
◆変数の操作:[0051〜0053]加算,変数[0165]の値<上下のずれを調整する
◆変数の操作:[0166:位置調整X]減算,変数[0164]の値
◆変数の操作:[0167:位置調整Y]減算,変数[0165]の値
◆
:分岐終了
◆変数の操作:[0169:画面スクロールX+]代入,主人公のX座標
◆変数の操作:[0170:画面スクロールY+]代入,主人公のY座標
◆変数の操作:[0169:画面スクロールX+]減算,9
◆変数の操作:[0170:画面スクロールY+]減算,7
◆変数の操作:[0169:画面スクロールX+]加算,変数[0171]の値<マップサイズXを加算
◆変数の操作:[0170:画面スクロールY+]加算,変数[0172]の値<マップサイズYを加算
◆変数の操作:[0169〜0170]乗算,16
◆変数の操作:[0169:画面スクロールX+]加算,変数[0166]の値
◆変数の操作:[0170:画面スクロールY+]加算,変数[0167]の値
◆注釈:------------------------------------------------------------
: :弾丸移動
: :
◆変数の操作:[0002:移動距離]代入,20
◆変数の操作:[0021〜0033]加算,1
◆条件分岐:スイッチ[0002:弾丸移動中01]がON(オプション:ON)
◆条件分岐:変数[0031:弾丸移動量01]がV[0002]以上
◆スイッチの操作:[0002:弾丸移動中01]をOFFにする
◆
:分岐終了
◆変数の操作:[0041:弾丸01X]加算,変数[0061]の値
◆変数の操作:[0051:弾丸01Y]加算,変数[0071]の値
◆ピクチャーの移動:1,(V[0041],V[0051]),0.0秒(透明度:0%)
◆変数の操作:[0005:X座標]代入,変数[0041]の値
◆変数の操作:[0006:Y座標]代入,変数[0051]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値
◆変数の操作:[0005〜0006]除算,16
◆変数の操作:[0005:X座標]加算,変数[0171]の値<マップサイズXを加算
◆変数の操作:[0006:Y座標]加算,変数[0172]の値<マップサイズYを加算
◆変数の操作:[0005:X座標]剰余,変数[0171]の値<マップサイズXで剰余
◆変数の操作:[0006:Y座標]剰余,変数[0172]の値<マップサイズYを剰余
◆〜必要に応じて、地形ID取得などを変数0005番、変数0006番を使って設定〜
◆
:それ以外の場合
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆条件分岐:スイッチ[0003:弾丸移動中02]がON(オプション:ON)
◆条件分岐:変数[0032:弾丸移動量02]がV[0002]以上
◆スイッチの操作:[0003:弾丸移動中02]をOFFにする
◆
:分岐終了
◆変数の操作:[0042:弾丸02X]加算,変数[0062]の値
◆変数の操作:[0052:弾丸02Y]加算,変数[0072]の値
◆ピクチャーの移動:2,(V[0042],V[0052]),0.0秒(透明度:0%)
◆変数の操作:[0005:X座標]代入,変数[0042]の値
◆変数の操作:[0006:Y座標]代入,変数[0052]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値
◆変数の操作:[0005〜0006]除算,16
◆変数の操作:[0005:X座標]加算,変数[0171]の値
◆変数の操作:[0006:Y座標]加算,変数[0172]の値
◆変数の操作:[0005:X座標]剰余,変数[0171]の値
◆変数の操作:[0006:Y座標]剰余,変数[0172]の値
◆〜必要に応じて、地形ID取得などを変数0005番、変数0006番を使って設定〜
◆
:それ以外の場合
◆ピクチャーの移動:2,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆条件分岐:スイッチ[0004:弾丸移動中03]がON(オプション:ON)
◆条件分岐:変数[0033:弾丸移動量03]がV[0002]以上
◆スイッチの操作:[0004:弾丸移動中03]をOFFにする
◆
:分岐終了
◆変数の操作:[0043:弾丸03X]加算,変数[0063]の値
◆変数の操作:[0053:弾丸03Y]加算,変数[0073]の値
◆ピクチャーの移動:3,(V[0043],V[0053]),0.0秒(透明度:0%)
◆変数の操作:[0005:X座標]代入,変数[0043]の値
◆変数の操作:[0006:Y座標]代入,変数[0053]の値
◆変数の操作:[0005:X座標]加算,変数[0169]の値
◆変数の操作:[0006:Y座標]加算,変数[0170]の値
◆変数の操作:[0005〜0006]除算,16
◆変数の操作:[0005:X座標]加算,変数[0171]の値
◆変数の操作:[0006:Y座標]加算,変数[0172]の値
◆変数の操作:[0005:X座標]剰余,変数[0171]の値
◆変数の操作:[0006:Y座標]剰余,変数[0172]の値
◆〜必要に応じて、地形ID取得などを変数0005番、変数0006番を使って設定〜
◆
:それ以外の場合
◆ピクチャーの移動:3,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
▲トップへ戻る▲
■補足
作品内のマップには、ループ設定があるマップと無いマップが混在している場合は、コモンイベントに
「■ループ設定の無い画面スクロール」と「■ループ設定がある画面スクロール」の両方を設定し、
それぞれの出現条件スイッチに、
「スイッチ[0001:ループ無し起動]」と「スイッチ[0006:ループあり起動]」を設定して、
マップの仕様に合わせてONにするスイッチを変えてください。
主人公に対する「向き固定」は設定しないでください。
▲トップへ戻る▲
|