RPGツクール2000/自作戦闘
ピクチャー放物線移動処理
■飛距離を変える
(更新:2011/09/24)


装備状態や攻撃力などによって、ボールの飛距離が変わるように設定します。


このページは続きとなっているページです
制作の始めは基礎ページから行ってください。
【ピクチャー放物線移動処理のページを開く】



☆スイッチ・変数の一覧
使用するスイッチ・変数は↓をクリックして確認してください。
【スイッチ・変数の一覧表を別ウィンドウで表示する】

※タブ表示にしたい場合は↑の上で、
 右クリック→新しいタブで開くなどとしてください。


※スイッチ・変数の一覧はピクチャー放物線移動処理の各ページで共有しています。
 既にピクチャー放物線移動処理のスイッチ・変数の一覧画面を開いている場合は、
 新たに開く必要はありません。




▼ショートカット(クリックするとその位置にジャンプします)

●装備している武器によって飛距離を変える

●「攻撃力=飛距離」とする

●キーを押し続けると飛距離が伸びる


  
☆装備している武器によって飛距離を変える
主人公が装備している武器によって、飛距離&最大の高さを変えます。

今回は以下のように設定します。
武器番号 内容 飛距離 最大の高さ
何も装備していない時 3マス 32ピクセル
アイテム番号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」になります。

飛距離のマス数は、
変数[0025:キー押し続け時間]÷18+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番



■コモンイベント「放物線移動:ボール移動」
※設定の変更はありません。



さらにゲージ表示を追加する場合は以下のように設定してください。

▼使用画像
ピクチャー48
ピクチャー49
ピクチャー50

▼表示見本



なお、ゲージ表示に関する説明は以下のページをご覧ください。
【ゲージの表示:画像移動型(ピクチャー)のページを開く】

■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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+ループなし)のみで使用できる設定です。
固定画面では無いマップに対応させるには、
画面スクロール対応の設定も必要になります。



放物線移動処理のページ
基礎ページ まずはこのページの設定を行ってください。
飛距離を変える 装備状態や攻撃力などによって飛距離を変えます。
敵への当たり判定 敵(マップイベント)にボールが当たるようにします。
高低差(壁)の設定 高低差の設定を追加します。
画面スクロール対応 画面スクロールに対応できるように改良します。
 

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール