RPGツクール2000/自作戦闘【サイトトップへ戻る】
ピクチャー放物線移動処理
■飛距離を変える
(更新:2020/08/08)
装備状態や攻撃力などによって、ボールの飛距離が変わるように設定します。
■スイッチ・変数の一覧
使用するスイッチ・変数は↓をクリックして確認してください。
【スイッチ・変数の一覧表を別ウィンドウで表示する】
スイッチ・変数の一覧はピクチャー放物線移動処理の各ページで共有しています。
既にピクチャー放物線移動処理のスイッチ・変数の一覧画面を開いている場合は、
新たに開く必要はありません。
▲トップへ戻る▲
▼ショートカット(クリックするとその位置にジャンプします)
●装備している武器によって飛距離を変える
●「攻撃力=飛距離」とする
●キーを押し続けると飛距離が伸びる
■装備している武器によって飛距離を変える
主人公が装備している武器によって、飛距離&最大の高さを変えます。
今回は以下のように設定します。
武器番号 |
内容 |
飛距離 |
最大の高さ |
0 |
何も装備していない時 |
3マス |
32ピクセル |
1 |
アイテム番号1番の武器を装備している時 |
5マス |
48ピクセル |
予め武器の準備を行ってください。

■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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
◆変数の操作:[0022:前の武器番号]代入,-1
◆
:分岐終了
◆注釈:----------------------------
: :武器装備
: :
◆変数の操作:[0021:装備中の武器番号]代入,主人公01の武器No.
◆条件分岐:変数[0022:前の武器番号]がV[0021]以外<装備が変わった時
◆変数の操作:[0022:前の武器番号]代入,主人公01の武器No.
◆条件分岐:変数[0021:装備中の武器番号]が0<何も武器を装備していない時
◆変数の操作:[0004:飛ばす距離(マス単位)]代入,3
◆変数の操作:[0005:飛ばす高さ(ドット単位)]代入,32
◆変数の操作:[0006:高さ%合計]代入,78
◆
:分岐終了
◆条件分岐:変数[0021:装備中の武器番号]が1<アイテム番号1番の武器を装備している時
◆変数の操作:[0004:飛ばす距離(マス単位)]代入,5
◆変数の操作:[0005:飛ばす高さ(ドット単位)]代入,48
◆変数の操作:[0006:高さ%合計]代入,210
◆
:分岐終了
◆
:分岐終了
◆注釈:----------------------------
: :ボール発射
: :
◆条件分岐:変数[0001:キー入力]が0
◆スイッチの操作:[0001:決定キー押し]をOFFにする
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆条件分岐:スイッチ[0001:決定キー押し続け]がON
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0001:決定キー押し]をONにする
◆条件分岐:スイッチ[0021:移動中:ボール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
◆スイッチの操作:[0021:移動中:ボール01]をONにする
◆効果音の演奏:風7
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
■コモンイベント「放物線移動:ボール移動」
※設定の変更はありません。 |
▲トップへ戻る▲
■「攻撃力=飛距離」とする
主人公の攻撃力をボールの飛距離とします。
飛距離の設定はマス単位ではなく、移動回数単位で設定します。
移動回数は「1マス=8回」なので、3マス先にボールを飛ばす場合は、
攻撃力を「24」に設定してください。
最大の高さも飛距離に合わせて変更します。
高さの設定は「攻撃力(移動回数)×2倍=高さ」とします。
■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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
◆変数の操作:[0024:前の攻撃力]代入,-1
◆
:分岐終了
◆注釈:----------------------------
: :攻撃力
: :
◆変数の操作:[0023:攻撃力]代入,主人公01の攻撃力
◆条件分岐:変数[0024:前の攻撃力]がV[0023]以外<攻撃力が変わった時
◆変数の操作:[0024:前の攻撃力]代入,主人公01の攻撃力
◆変数の操作:[0005:最大の高さ(ドット単位)]代入,主人公01の攻撃力
◆変数の操作:[0005:最大の高さ(ドット単位)]乗算,2
◆変数の操作:[0006:高さ%合計]代入,0
◆変数の操作:[0007:高さ%±]代入,主人公01の攻撃力
◆変数の操作:[0007:高さ%±]除算,2<半分の移動回数にする
◆ラベルの設定:2番
◆変数の操作:[0006:高さ%合計]加算,変数[0007]の値
◆変数の操作:[0007:高さ%±]減算,1
◆条件分岐:変数[0007:高さ%±]が1以上
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆変数の操作:[0007:高さ%±]代入,主人公01の攻撃力
◆変数の操作:[0007:高さ%±]除算,2
◆
:分岐終了
◆注釈:----------------------------
: :ボール発射
: :
◆条件分岐:変数[0001:キー入力]が0
◆スイッチの操作:[0001:決定キー押し]をOFFにする
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆条件分岐:スイッチ[0001:決定キー押し続け]がON
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0001:決定キー押し]をONにする
◆条件分岐:スイッチ[0021:移動中:ボール01]がOFF
◆変数の操作:[0101:ボール01:現在位置X]代入,主人公の画面X
◆変数の操作:[0102:ボール01:現在位置Y]代入,主人公の画面Y
◆変数の操作:[0102:ボール01:現在位置Y]減算,8
◆変数の操作:[0103:ボール01:移動方向]代入,主人公の向き
◆変数の操作:[0104:ボール01:最大の高さ]代入,変数[0005]の値
◆変数の操作:[0106:ボール01:高さ%合計]代入,変数[0006]の値
◆変数の操作:[0107:ボール01:高さ%±]代入,変数[0007]の値
◆変数の操作:[0107:ボール01:高さ%±]乗算,4<削除する
◆変数の操作:[0108:ボール01:現在高さ%]代入,0
◆スイッチの操作:[0021:移動中:ボール01]をONにする
◆効果音の演奏:風7
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
■コモンイベント「放物線移動:ボール移動」
※設定の変更はありません。 |
▲トップへ戻る▲
■キーを押し続けると飛距離が伸びる
決定キーを押し続ける時間によって、ボールの飛距離&最大の高さを変えます。
決定キーを押し続けると、変数[0025:キー押し続け時間]の値が増えます。
変数[0025:キー押し続け時間]の値は60分の1秒単位で「+1」になります。
飛距離のマス数は…
の計算で算出します。
最大飛距離は9マスとします。
最大の高さも飛距離に合わせて変更します。
高さの設定は「飛距離(マス数)×12」とします。
■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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
◆変数の操作:[0025:キー押し続け時間]代入,0
◆
:分岐終了
◆注釈:----------------------------
: :ボール発射
: :
◆条件分岐:変数[0001:キー入力]が5<変更する
◆変数の操作:[0025:キー押し続け時間]加算,1
◆スイッチの操作:[0001:決定キー押し]をOFFにする<削除する
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆条件分岐:変数[0025:キー押し続け時間]が0<変更する
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆スイッチの操作:[0001:決定キー押し]をONにする<削除する
◆変数の操作:[0025:キー押し続け時間]除算,18
◆変数の操作:[0025:キー押し続け時間]加算,1
◆条件分岐:変数[0025:キー押し続け時間]が10以上<飛距離が10マス以上の時
◆変数の操作:[0025:キー押し続け時間]代入,9<飛距離を9マスに修正
◆
:分岐終了
◆変数の操作:[0004〜0005]代入,変数[0025]の値
◆変数の操作:[0005:最大の高さ(ドット単位)]乗算,12
◆条件分岐:変数[0004:飛距離(マス単位)]が1
◆変数の操作:[0006:高さ%合計]代入,10
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が2
◆変数の操作:[0006:高さ%合計]代入,36
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が3
◆変数の操作:[0006:高さ%合計]代入,78
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が4
◆変数の操作:[0006:高さ%合計]代入,136
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が5
◆変数の操作:[0006:高さ%合計]代入,210
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が6
◆変数の操作:[0006:高さ%合計]代入,300
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が7
◆変数の操作:[0006:高さ%合計]代入,406
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が8
◆変数の操作:[0006:高さ%合計]代入,528
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が9
◆変数の操作:[0006:高さ%合計]代入,666
◆
:分岐終了
◆変数の操作:[0025:キー押し続け時間]代入,0
◆条件分岐:スイッチ[0021:移動中:ボール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
◆スイッチの操作:[0021:移動中:ボール01]をONにする
◆効果音の演奏:風7
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆
|
■コモンイベント「放物線移動:ボール移動」
※設定の変更はありません。 |
さらにゲージ表示を追加する場合は以下のように設定してください。
▼使用画像
▼表示見本

なお、ゲージ表示に関する説明は以下のページをご覧ください。
【ゲージの表示:画像移動型(ピクチャー)のページを開く】
■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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%)
◆変数の操作:[0025:キー押し続け時間]代入,0
◆ピクチャーの表示:48,溜め:ゲージ,(160,120)(透明度:100%)
◆ピクチャーの表示:49,溜め:▲,(160,120)(透明度:100%)
◆ピクチャーの表示:50,溜め:ゲージの枠,(055,005)(透明度:0%)
◆変数の操作:[0083:ゲージY P48]代入,5<ゲージのY表示位置
◆変数の操作:[0084:ゲージY P49]代入,11<▲表示のY表示位置
◆
:分岐終了
◆注釈:----------------------------
: :ボール発射
: :
◆条件分岐:変数[0001:キー入力]が5
◆変数の操作:[0025:キー押し続け時間]加算,1
◆条件分岐:変数[0025:キー押し続け時間]が144以上<ゲージが最大値の時
◆変数の操作:[0025:キー押し続け時間]代入,144
◆
:分岐終了
◆変数の操作:[0081〜0082]代入,変数[0025]の値<押し続け時間を代入
◆変数の操作:[0081:ゲージX P48]減算,63
◆変数の操作:[0082:ゲージX P49]除算,18
◆変数の操作:[0082:ゲージX P49]加算,1
◆変数の操作:[0082:ゲージX P49]乗算,18
◆変数の操作:[0082:ゲージX P49]減算,9
◆ピクチャーの移動:48,(V[0081],V[0083]),0.0秒(透明度:0%)
◆ピクチャーの移動:49,(V[0082],V[0084]),0.0秒(透明度:0%)
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆条件分岐:変数[0025:キー押し続け時間]が0
◆指定ラベルへ飛ぶ:1番
◆
:分岐終了
◆変数の操作:[0025:キー押し続け時間]除算,18
◆変数の操作:[0025:キー押し続け時間]加算,1
◆条件分岐:変数[0025:キー押し続け時間]が10以上
◆変数の操作:[0025:キー押し続け時間]代入,9
◆
:分岐終了
◆変数の操作:[0004〜0005]代入,変数[0025]の値
◆変数の操作:[0005:最大の高さ(ドット単位)]乗算,12
◆条件分岐:変数[0004:飛距離(マス単位)]が1
◆変数の操作:[0006:高さ%合計]代入,10
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が2
◆変数の操作:[0006:高さ%合計]代入,36
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が3
◆変数の操作:[0006:高さ%合計]代入,78
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が4
◆変数の操作:[0006:高さ%合計]代入,136
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が5
◆変数の操作:[0006:高さ%合計]代入,210
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が6
◆変数の操作:[0006:高さ%合計]代入,300
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が7
◆変数の操作:[0006:高さ%合計]代入,406
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が8
◆変数の操作:[0006:高さ%合計]代入,528
◆
:分岐終了
◆条件分岐:変数[0004:飛距離(マス単位)]が9
◆変数の操作:[0006:高さ%合計]代入,666
◆
:分岐終了
◆変数の操作:[0025:キー押し続け時間]代入,0
◆ピクチャーの移動:48,(160,120),0.0秒(透明度:100%)
◆ピクチャーの移動:49,(160,120),0.0秒(透明度:100%)
◆条件分岐:スイッチ[0021:移動中:ボール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
◆スイッチの操作:[0021:移動中:ボール01]をONにする
◆効果音の演奏:風7
◆
:分岐終了
◆指定ラベルへ飛ぶ:1番
◆ |
■コモンイベント「放物線移動:ボール移動」
※設定の変更はありません。 |
▲トップへ戻る▲
■補足
このページの設定は、固定画面(横20×縦15+ループなし)のみで使用できる設定です。
固定画面では無いマップに対応させるには、画面スクロール対応の設定も必要になります。
▲トップへ戻る▲
|