RPGツクール2000/自作戦闘【サイトトップへ戻る】
ピクチャー放物線移動処理
■画面スクロール対応
(更新:2020/08/08)
画面スクロールに対応できるように改良します。
■スイッチ・変数の一覧
使用するスイッチ・変数は↓をクリックして確認してください。
【スイッチ・変数の一覧表を別ウィンドウで表示する】
スイッチ・変数の一覧はピクチャー放物線移動処理の各ページで共有しています。
既にピクチャー放物線移動処理のスイッチ・変数の一覧画面を開いている場合は、
新たに開く必要はありません。
▲トップへ戻る▲
■マップイベント「マップ右下」を設定
マップの右下にマップイベント「マップ右下」を設定してください。
このマップイベント「マップ右下」は、画面スクロールのスクロール状態を調べる時に使います。
処理としては、まずこのイベントの画面位置を変数に読み取ります。
そして60分の1秒後(ウェイト:0.0秒後)にもう一度このイベントの画面位置を読み取り、
その誤差によって画面スクロールの移動量を算出します。
スイッチ0041番と0042番はマップの設定にて、
マップのループを設定している場合はONの設定を行ってください。
ループを行っていない場合は、スイッチの操作を設定した上でOFFの設定を行ってください。
■マップイベント「マップ右下」
▼1ページ目
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
グラフィック:透明
◆変数の操作:[0043:マップサイズ:画面X]代入,マップ右下のX座標
◆変数の操作:[0044:マップサイズ:画面Y]代入,マップ右下のY座標
◆変数の操作:[0043〜0044]加算,1
◆変数の操作:[0043〜0044]乗算,16
◆スイッチの操作:[0041:ループあり:横]をONにする<マップの横ループを設定しているのでON
◆スイッチの操作:[0042:ループあり:縦]をONにする<マップの縦ループを設定しているのでON
◆イベントの一時消去
◆ |
■コモンイベントの設定に関して
コモンイベントの設定は、
当たり判定などを設定しているかどうかによって、微妙に設定方法が異なります。
現在の設定状況に合わせて該当する記事をご覧ください。
▼設定状況名をクリックすると、改良方法が書かれた所へジャンプします。
▲トップへ戻る▲
■基礎ページを改良
「基礎」
「飛距離:武器」
「飛距離:攻撃力」
「飛距離:溜め押し」
「当たり判定:画面位置」の設定例です。
黄色になっている部分を追加設定してください。
この色の部分は、基礎のページの設定なので、
飛距離や当たり判定のページとは異なる設定になっていますが、
この色の部分は無視して黄色の部分のみを追加設定してください。
■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0001:キー入力]が0
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆
:分岐終了
◆注釈:----------------------------
: :初期設定
: :
◆変数の操作:[0002:現在のマップID]代入,主人公のマップID
◆条件分岐:変数[0003:前のマップID]がV[0002]以外
◆変数の操作:[0003:前のマップID]代入,主人公のマップID
◆ピクチャーの表示:1,ボールの影,(160,120)(透明度:100%)
◆ピクチャーの表示:11,ボール,(160,120)(透明度:100%)
◆変数の操作:[0004:飛距離(マス単位)]代入,3
◆変数の操作:[0005:最大の高さ(ドット単位)]代入,32
◆変数の操作:[0006:高さ%合計]代入,78
◆ウェイト:0.1秒
◆
:分岐終了
◆注釈:----------------------------
: :ボールを発射
: :
◆条件分岐:変数[0001:キー入力]が0
◆スイッチの操作:[0001:決定キー押し続け]をOFFにする
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆条件分岐:スイッチ[0001:決定キー押し続け]がON
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0001:決定キー押し続け]をONにする
◆条件分岐:スイッチ[0011:移動中:ボール01]がOFF
◆変数の操作:[0101:ボール01:現在位置X]代入,主人公の画面X
◆変数の操作:[0102:ボール01:現在位置Y]代入,主人公の画面Y
◆変数の操作:[0102:ボール01:現在位置Y]減算,8
◆変数の操作:[0103:ボール01:移動方向]代入,主人公の向き
◆変数の操作:[0104:ボール01:最大の高さ]代入,変数[0005]の値
◆変数の操作:[0106:ボール01:高さ%合計]代入,変数[0006]の値
◆変数の操作:[0107:ボール01:高さ%±]代入,変数[0004]の値
◆変数の操作:[0107:ボール01:高さ%±]乗算,4
◆変数の操作:[0108:ボール01:現在高さ%]代入,0
◆変数の操作:[0112:ボール01:画面位置X]代入,マップ右下の画面X
◆変数の操作:[0113:ボール01:画面位置Y]代入,マップ右下の画面Y
◆スイッチの操作:[0011:移動中:ボール01]をONにする
◆効果音の演奏:風7
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
■コモンイベント「放物線移動:ボール移動」
イベント開始条件:定期的に並列処理する
◆ラベルの設定:10番
◆ウェイト:0.0秒
◆変数の操作:[0002:現在のマップID]代入,主人公のマップID
◆条件分岐:変数[0003:前のマップID]がV[0002]以外
◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
◆
:分岐終了
◆注釈:------------------------------------------------------------
: :ボール1の移動処理
: :
◆条件分岐:スイッチ[0011:移動中:ボール01]がON(オプション:ON)
◆注釈:----------------------------
: :ボールを2ピクセル移動
: :
◆条件分岐:変数[0103:ボール01:移動方向]が2
◆変数の操作:[0102:ボール01:現在位置Y]加算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が4
◆変数の操作:[0101:ボール01:現在位置X]減算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が6
◆変数の操作:[0101:ボール01:現在位置X]加算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が8
◆変数の操作:[0102:ボール01:現在位置Y]減算,2
◆
:分岐終了
◆注釈:----------------------------<追加する
: :画面スクロール
: :
◆変数の操作:[0112:ボール01:画面位置X]減算,マップ右下の画面X<減算して画面のずれを出す
◆変数の操作:[0113:ボール01:画面位置Y]減算,マップ右下の画面Y<減算して画面のずれを出す
◆条件分岐:変数[0112:ボール01:画面位置X]が100以上(オプション:ON)<100以上のずれがある時
◆変数の操作:[0112:ボール01:画面位置X]減算,変数[0043]の値<マップの横ピクセル数を減算
◆
:それ以外の場合<100未満のずれの時
◆条件分岐:変数[0112:ボール01:画面位置X]が-100以下<-100以下のずれの時
◆変数の操作:[0112:ボール01:画面位置X]加算,変数[0043]の値<マップの横ピクセル数を加算
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0113:ボール01:画面位置Y]が100以上(オプション:ON)<100以上のずれがある時
◆変数の操作:[0113:ボール01:画面位置Y]減算,変数[0044]の値<マップの縦ピクセル数を減算
◆
:それ以外の場合<-100以下のずれの時
◆条件分岐:変数[0113:ボール01:画面位置Y]が-100以下
◆変数の操作:[0113:ボール01:画面位置Y]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0101:ボール01:現在位置X]減算,変数[0112]の値<影の位置を画面のずれに合わせる
◆変数の操作:[0102:ボール01:現在位置Y]減算,変数[0113]の値<影の位置を画面のずれに合わせる
◆変数の操作:[0112:ボール01:画面位置X]代入,マップ右下の画面X<最新のイベント位置を代入
◆変数の操作:[0113:ボール01:画面位置Y]代入,マップ右下の画面Y<最新のイベント位置を代入
◆条件分岐:スイッチ[0041:ループあり:横]がON<横のループ設定がある時
◆変数の操作:[0101:ボール01:現在位置X]加算,変数[0043]の値<マップの横ピクセル数を加算
◆変数の操作:[0101:ボール01:現在位置X]剰余,変数[0043]の値<マップの横ピクセル数で剰余
◆
:分岐終了
◆条件分岐:スイッチ[0042:ループあり:縦]がON<縦のループ設定がある時
◆変数の操作:[0102:ボール01:現在位置Y]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆変数の操作:[0102:ボール01:現在位置Y]剰余,変数[0044]の値<マップの縦ピクセル数で剰余
◆
:分岐終了
◆注釈:----------------------------
: :ボールの高さを変更
: :
◆変数の操作:[0108:ボール01:現在高さ%]減算,変数[0107]の値
◆変数の操作:[0010:ボールのY表示位置]代入,変数[0108]の値
◆変数の操作:[0010:ボールのY表示位置]乗算,変数[0104]の値
◆変数の操作:[0010:ボールのY表示位置]除算,変数[0106]の値
◆変数の操作:[0010:ボールのY表示位置]加算,変数[0102]の値
◆注釈:----------------------------
: :ボールの表示
: :
◆ピクチャーの移動:1,(V[0101],V[0102]),0.0秒(透明度:60%)
◆ピクチャーの移動:11,(V[0101],V[0010]),0.0秒(透明度:0%)
◆注釈:----------------------------
◆変数の操作:[0107:ボール01:高さ%±]減算,1
◆条件分岐:変数[0108:ボール01:現在高さ%]が0以上
◆注釈:----------------------------
: :ボールが着弾(ボールを消す)
: :
◆効果音の演奏:打撃6
◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
◆
:分岐終了
◆
:それ以外の場合
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆指定ラベルへ飛ぶ:10番
◆ |
▲トップへ戻る▲
■当たり判定「イベントID」を改良
黄色になっている部分を追加設定してください。
■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0001:キー入力]が0
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆
:分岐終了
◆注釈:----------------------------
: :初期設定
: :
◆変数の操作:[0002:現在のマップID]代入,主人公のマップID
◆条件分岐:変数[0003:前のマップID]がV[0002]以外
◆変数の操作:[0003:前のマップID]代入,主人公のマップID
◆ピクチャーの表示:1,ボールの影,(160,120)(透明度:100%)
◆ピクチャーの表示:11,ボール,(160,120)(透明度:100%)
◆変数の操作:[0004:飛距離(マス単位)]代入,3
◆変数の操作:[0005:最大の高さ(ドット単位)]代入,32
◆変数の操作:[0006:高さ%合計]代入,78
◆ウェイト:0.1秒
◆
:分岐終了
◆注釈:----------------------------
: :ボールを発射
: :
◆条件分岐:変数[0001:キー入力]が0
◆スイッチの操作:[0001:決定キー押し続け]をOFFにする
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆条件分岐:スイッチ[0001:決定キー押し続け]がON
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0001:決定キー押し続け]をONにする
◆条件分岐:スイッチ[0011:移動中:ボール01]がOFF
◆変数の操作:[0101:ボール01:現在位置X]代入,主人公の画面X
◆変数の操作:[0102:ボール01:現在位置Y]代入,主人公の画面Y
◆変数の操作:[0102:ボール01:現在位置Y]減算,8
◆変数の操作:[0103:ボール01:移動方向]代入,主人公の向き
◆変数の操作:[0104:ボール01:最大の高さ]代入,変数[0005]の値
◆変数の操作:[0106:ボール01:高さ%合計]代入,変数[0006]の値
◆変数の操作:[0107:ボール01:高さ%±]代入,変数[0004]の値
◆変数の操作:[0107:ボール01:高さ%±]乗算,4
◆変数の操作:[0108:ボール01:現在高さ%]代入,0
◆変数の操作:[0112:ボール01:画面位置X]代入,マップ右下の画面X
◆変数の操作:[0113:ボール01:画面位置Y]代入,マップ右下の画面Y
◆スイッチの操作:[0011:移動中:ボール01]をONにする
◆効果音の演奏:風7
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
■コモンイベント「放物線移動:ボール移動」
イベント開始条件:定期的に並列処理する
◆ラベルの設定:10番
◆ウェイト:0.0秒
◆変数の操作:[0002:現在のマップID]代入,主人公のマップID
◆条件分岐:変数[0003:前のマップID]がV[0002]以外
◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
◆
:分岐終了
◆注釈:------------------------------------------------------------
: :ボール1の移動処理
: :
◆条件分岐:スイッチ[0011:移動中:ボール01]がON(オプション:ON)
◆注釈:----------------------------
: :ボールを2ピクセル移動
: :
◆条件分岐:変数[0103:ボール01:移動方向]が2
◆変数の操作:[0102:ボール01:現在位置Y]加算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が4
◆変数の操作:[0101:ボール01:現在位置X]減算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が6
◆変数の操作:[0101:ボール01:現在位置X]加算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が8
◆変数の操作:[0102:ボール01:現在位置Y]減算,2
◆
:分岐終了
◆注釈:----------------------------<追加する
: :画面スクロール
: :
◆変数の操作:[0112:ボール01:画面位置X]減算,マップ右下の画面X<減算して画面のずれを出す
◆変数の操作:[0113:ボール01:画面位置Y]減算,マップ右下の画面Y<減算して画面のずれを出す
◆条件分岐:変数[0112:ボール01:画面位置X]が100以上(オプション:ON)<100以上のずれがある時
◆変数の操作:[0112:ボール01:画面位置X]減算,変数[0043]の値<マップの横ピクセル数を減算
◆
:それ以外の場合<100未満のずれの時
◆条件分岐:変数[0112:ボール01:画面位置X]が-100以下<-100以下のずれの時
◆変数の操作:[0112:ボール01:画面位置X]加算,変数[0043]の値<マップの横ピクセル数を加算
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0113:ボール01:画面位置Y]が100以上(オプション:ON)<100以上のずれがある時
◆変数の操作:[0113:ボール01:画面位置Y]減算,変数[0044]の値<マップの縦ピクセル数を減算
◆
:それ以外の場合<-100以下のずれの時
◆条件分岐:変数[0113:ボール01:画面位置Y]が-100以下
◆変数の操作:[0113:ボール01:画面位置Y]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0101:ボール01:現在位置X]減算,変数[0112]の値<影の位置を画面のずれに合わせる
◆変数の操作:[0102:ボール01:現在位置Y]減算,変数[0113]の値<影の位置を画面のずれに合わせる
◆変数の操作:[0112:ボール01:画面位置X]代入,マップ右下の画面X<最新のイベント位置を代入
◆変数の操作:[0113:ボール01:画面位置Y]代入,マップ右下の画面Y<最新のイベント位置を代入
◆条件分岐:スイッチ[0041:ループあり:横]がON<横のループ設定がある時
◆変数の操作:[0101:ボール01:現在位置X]加算,変数[0043]の値<マップの横ピクセル数を加算
◆変数の操作:[0101:ボール01:現在位置X]剰余,変数[0043]の値<マップの横ピクセル数で剰余
◆
:分岐終了
◆条件分岐:スイッチ[0042:ループあり:縦]がON<縦のループ設定がある時
◆変数の操作:[0102:ボール01:現在位置Y]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆変数の操作:[0102:ボール01:現在位置Y]剰余,変数[0044]の値<マップの縦ピクセル数で剰余
◆
:分岐終了
◆注釈:----------------------------
: :ボールの高さを変更
: :
◆変数の操作:[0108:ボール01:現在高さ%]減算,変数[0107]の値
◆変数の操作:[0010:ボールのY表示位置]代入,変数[0108]の値
◆変数の操作:[0010:ボールのY表示位置]乗算,変数[0104]の値
◆変数の操作:[0010:ボールのY表示位置]除算,変数[0106]の値
◆変数の操作:[0010:ボールのY表示位置]加算,変数[0102]の値
◆注釈:----------------------------
: :ボールの表示
: :
◆ピクチャーの移動:1,(V[0101],V[0102]),0.0秒(透明度:60%)
◆ピクチャーの移動:11,(V[0101],V[0010]),0.0秒(透明度:0%)
◆注釈:----------------------------
: :当たり判定
: :
◆変数の操作:[0009:ボールの高さ]代入,変数[0010]の値
◆変数の操作:[0009:ボールの高さ]減算,変数[0102]の値
◆条件分岐:変数[0009:ボールの高さ]が-8以上
◆変数の操作:[0011:ボールのX]代入,変数[0101]の値
◆変数の操作:[0012:ボールのY]代入,変数[0102]の値
◆変数の操作:[0011:ボールのX]減算,マップ右下の画面X
◆変数の操作:[0012:ボールのY]減算,マップ右下の画面Y
◆変数の操作:[0011:ボールのX]減算,8<マップの右端になるように減算
◆変数の操作:[0011:ボールのX]加算,変数[0043]の値<マップの横ピクセル数を加算
◆変数の操作:[0012:ボールのY]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆条件分岐:スイッチ[0041:ループあり:横]がON<横のループ設定がある時
◆変数の操作:[0011:ボールのX]剰余,変数[0043]の値<マップの横ピクセル数で剰余
◆
:分岐終了
◆条件分岐:スイッチ[0042:ループあり:縦]がON<縦のループ設定がある時
◆変数の操作:[0012:ボールのY]剰余,変数[0044]の値<マップの縦ピクセル数で剰余
◆
:分岐終了
◆変数の操作:[0011〜0012]除算,16
◆指定位置のイベントID取得:(V[0011],V[0012]),[0013:ID取得]
◆条件分岐:変数[0013:ID取得]がV[0041]以上
◆スイッチの操作:[0002:当たり確認]をOFFにする
◆イベントの呼び出し:V[13][V[14]]
◆条件分岐:スイッチ[0002:当たり確認]がON
◆指定ラベルへ飛ぶ:11番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈:----------------------------
◆変数の操作:[0107:ボール01:高さ%±]減算,1
◆条件分岐:変数[0108:ボール01:現在高さ%]が0以上
◆注釈:----------------------------
: :ボールが着弾(ボールを消す)
: :
◆効果音の演奏:打撃6
◆ラベルの設定:11番
◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
◆
:分岐終了
◆
:それ以外の場合
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆指定ラベルへ飛ぶ:10番
◆ |
▲トップへ戻る▲
■高低差を改良
黄色になっている部分を追加設定してください。
■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定:1番
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆ウェイト:0.0秒
◆条件分岐:変数[0001:キー入力]が0
◆キー入力の処理:[0001:キー入力](決定/オプション:OFF)
◆
:分岐終了
◆注釈:----------------------------
: :初期設定
: :
◆変数の操作:[0002:現在のマップID]代入,主人公のマップID
◆条件分岐:変数[0003:前のマップID]がV[0002]以外
◆変数の操作:[0003:前のマップID]代入,主人公のマップID
◆ピクチャーの表示:1,ボールの影,(160,120)(透明度:100%)
◆ピクチャーの表示:11,ボール,(160,120)(透明度:100%)
◆変数の操作:[0004:飛距離(マス単位)]代入,3
◆変数の操作:[0005:最大の高さ(ドット単位)]代入,32
◆変数の操作:[0006:高さ%合計]代入,78
◆
:分岐終了
◆注釈:----------------------------
: :ボール発射
: :
◆条件分岐:変数[0001:キー入力]が0
◆スイッチの操作:[0001:決定キー押し]をOFFにする
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆条件分岐:スイッチ[0001:決定キー押し続け]がON
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0001:決定キー押し]をONにする
◆変数の操作:[0011:ボールのX]代入,主人公のX座標
◆変数の操作:[0012:ボールのY]代入,主人公のY座標
◆指定位置の地形ID取得:(V[0011],V[0012]),[0013:ID取得]
◆変数の操作:[0012:ボールのY]加算,1
◆指定位置の地形ID取得:(V[0011],V[0012]),[0016:ボールの影地形ID]
◆条件分岐:変数[0013:ID取得]がV[0016]より大きい(オプション:ON)
◆変数の操作:[0015:ボールの影Y]代入,-16
◆
:それ以外の場合
◆変数の操作:[0015:ボールの影Y]代入,0
◆
:分岐終了
◆条件分岐:スイッチ[0011:移動中:ボール01]がOFF
◆変数の操作:[0110:ボール01:高さピクセル]代入,変数[0013]の値
◆変数の操作:[0110:ボール01:高さピクセル]乗算,-16
◆変数の操作:[0110:ボール01:高さピクセル]加算,16
◆変数の操作:[0101:ボール01:現在位置X]代入,主人公の画面X
◆変数の操作:[0102:ボール01:現在位置Y]代入,主人公の画面Y
◆変数の操作:[0102:ボール01:現在位置Y]減算,変数[0110]の値
◆変数の操作:[0102:ボール01:現在位置Y]減算,8
◆変数の操作:[0102:ボール01:現在位置Y]加算,変数[0015]の値
◆変数の操作:[0103:ボール01:移動方向]代入,主人公の向き
◆変数の操作:[0104:ボール01:最大の高さ]代入,変数[0005]の値
◆変数の操作:[0106:ボール01:高さ%合計]代入,変数[0006]の値
◆変数の操作:[0107:ボール01:高さ%±]代入,変数[0004]の値
◆変数の操作:[0107:ボール01:高さ%±]乗算,4
◆変数の操作:[0108:ボール01:現在高さ%]代入,0
◆変数の操作:[0112:ボール01:画面位置X]代入,マップ右下の画面X
◆変数の操作:[0113:ボール01:画面位置Y]代入,マップ右下の画面Y
◆スイッチの操作:[0011:移動中:ボール01]をONにする
◆効果音の演奏:風7
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
■コモンイベント「放物線移動:ボール移動」
イベント開始条件:定期的に並列処理する
◆ラベルの設定:10番
◆ウェイト:0.0秒
◆変数の操作:[0002:現在のマップID]代入,主人公のマップID
◆条件分岐:変数[0003:前のマップID]がV[0002]以外
◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
◆
:分岐終了
◆注釈:------------------------------------------------------------
: :ボール1の移動処理
: :
◆条件分岐:スイッチ[0011:移動中:ボール01]がON(オプション:ON)
◆注釈:----------------------------
: :ボールを2ピクセル移動
: :
◆条件分岐:変数[0103:ボール01:移動方向]が2
◆変数の操作:[0102:ボール01:現在位置Y]加算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が4
◆変数の操作:[0101:ボール01:現在位置X]減算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が6
◆変数の操作:[0101:ボール01:現在位置X]加算,2
◆
:分岐終了
◆条件分岐:変数[0103:ボール01:移動方向]が8
◆変数の操作:[0102:ボール01:現在位置Y]減算,2
◆
:分岐終了
◆注釈:----------------------------<追加する
: :画面スクロール
: :
◆変数の操作:[0112:ボール01:画面位置X]減算,マップ右下の画面X<減算して画面のずれを出す
◆変数の操作:[0113:ボール01:画面位置Y]減算,マップ右下の画面Y<減算して画面のずれを出す
◆条件分岐:変数[0112:ボール01:画面位置X]が100以上(オプション:ON)<100以上のずれがある時
◆変数の操作:[0112:ボール01:画面位置X]減算,変数[0043]の値<マップの横ピクセル数を減算
◆
:それ以外の場合<100未満のずれの時
◆条件分岐:変数[0112:ボール01:画面位置X]が-100以下<-100以下のずれの時
◆変数の操作:[0112:ボール01:画面位置X]加算,変数[0043]の値<マップの横ピクセル数を加算
◆
:分岐終了
◆
:分岐終了
◆条件分岐:変数[0113:ボール01:画面位置Y]が100以上(オプション:ON)<100以上のずれがある時
◆変数の操作:[0113:ボール01:画面位置Y]減算,変数[0044]の値<マップの縦ピクセル数を減算
◆
:それ以外の場合<-100以下のずれの時
◆条件分岐:変数[0113:ボール01:画面位置Y]が-100以下
◆変数の操作:[0113:ボール01:画面位置Y]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆
:分岐終了
◆
:分岐終了
◆変数の操作:[0101:ボール01:現在位置X]減算,変数[0112]の値<影の位置を画面のずれに合わせる
◆変数の操作:[0102:ボール01:現在位置Y]減算,変数[0113]の値<影の位置を画面のずれに合わせる
◆変数の操作:[0112:ボール01:画面位置X]代入,マップ右下の画面X<最新のイベント位置を代入
◆変数の操作:[0113:ボール01:画面位置Y]代入,マップ右下の画面Y<最新のイベント位置を代入
◆条件分岐:スイッチ[0041:ループあり:横]がON<横のループ設定がある時
◆変数の操作:[0101:ボール01:現在位置X]加算,変数[0043]の値<マップの横ピクセル数を加算
◆変数の操作:[0101:ボール01:現在位置X]剰余,変数[0043]の値<マップの横ピクセル数で剰余
◆
:分岐終了
◆条件分岐:スイッチ[0042:ループあり:縦]がON<縦のループ設定がある時
◆変数の操作:[0102:ボール01:現在位置Y]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆変数の操作:[0102:ボール01:現在位置Y]剰余,変数[0044]の値<マップの縦ピクセル数で剰余
◆
:分岐終了
◆注釈:----------------------------
: :高低差チェック
: :
◆変数の操作:[0011:ボールのX]代入,変数[0101]の値
◆変数の操作:[0012:ボールのY]代入,変数[0102]の値
◆変数の操作:[0011:ボールのX]減算,マップ右下の画面X
◆変数の操作:[0012:ボールのY]減算,マップ右下の画面Y
◆変数の操作:[0011:ボールのX]減算,8<マップの右端になるように減算
◆条件分岐:スイッチ[0041:ループあり:横]がON<横のループ設定がある時
◆変数の操作:[0011:ボールのX]加算,変数[0043]の値<マップの横ピクセル数を加算
◆変数の操作:[0011:ボールのX]剰余,変数[0043]の値<マップの横ピクセル数で剰余
◆
:分岐終了
◆条件分岐:スイッチ[0042:ループあり:縦]がON<縦のループ設定がある時
◆変数の操作:[0012:ボールのY]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆変数の操作:[0012:ボールのY]剰余,変数[0044]の値<マップの縦ピクセル数で剰余
◆
:分岐終了
◆変数の操作:[0011〜0012]除算,16
◆指定位置の地形ID取得:(V[0011],V[0012]),[0009:ボールの高さ]
◆指定位置の地形ID取得:(V[0011],V[0012]),[0016:ボールの影地形ID]
◆変数の操作:[0009:ボールの高さ]乗算,-16
◆変数の操作:[0009:ボールの高さ]加算,16
◆変数の操作:[0015:ボールの影Y]代入,変数[0102]の値
◆変数の操作:[0015:ボールの影Y]加算,変数[0009]の値
◆変数の操作:[0012:ボールのY]代入,変数[0015]の値
◆変数の操作:[0012:ボールのY]減算,マップ右下の画面Y
◆条件分岐:スイッチ[0042:ループあり:縦]がON<縦のループ設定がある時
◆変数の操作:[0012:ボールのY]加算,変数[0044]の値<マップの縦ピクセル数を加算
◆変数の操作:[0012:ボールのY]剰余,変数[0044]の値<マップの縦ピクセル数で剰余
◆
:分岐終了
◆変数の操作:[0012:ボールのY]除算,16
◆指定位置の地形ID取得:(V[0011],V[0012]),[0017:ボールの影地形ID2]
◆注釈:----------------------------
: :ボールの高さを変更
: :
◆変数の操作:[0108:ボール01:現在高さ%]減算,変数[0107]の値
◆変数の操作:[0010:ボールの表示位置Y]代入,変数[0108]の値
◆変数の操作:[0010:ボールの表示位置Y]乗算,変数[0104]の値
◆変数の操作:[0010:ボールの表示位置Y]除算,変数[0106]の値
◆変数の操作:[0010:ボールの表示位置Y]加算,変数[0102]の値
◆変数の操作:[0010:ボールのY表示位置]加算,変数[0110]の値
◆注釈:----------------------------
: :ボールの表示
: :
◆条件分岐:変数[0017:ボールの影地形ID2]がV[0016]以上(オプション:0%)
◆条件分岐:変数[0015:ボールの影Y]がV[0010]以上(オプション:0%)
◆ピクチャーの移動:1,(V[0101],V[0015]),0.0秒(透明度:60%)
◆
:それ以外の場合
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆
:それ以外の場合
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆条件分岐:変数[0010:ボールのY表示位置]がV[0015]以上(オプション:0%)
◆変数の操作:[0010:ボールのY表示位置]代入,変数[0015]の値
◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
◆
:それ以外の場合
◆ピクチャーの移動:11,(V[0101],V[0010]),0.0秒(透明度:0%)
◆
:分岐終了
◆注釈:----------------------------
◆変数の操作:[0107:ボール01:高さ%±]減算,1
◆条件分岐:変数[0010:ボールのY表示位置]がV[0015]以上
◆注釈:----------------------------
: :ボールが着弾(ボールを消す)
: :
◆効果音の演奏:打撃6
◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
◆
:分岐終了
◆
:それ以外の場合
◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
◆
:分岐終了
◆指定ラベルへ飛ぶ:10番
◆ |
▲トップへ戻る▲
|