RPGツクール2000/自作戦闘
ピクチャー放物線移動処理
■高低差(壁)の設定
(更新:2016/05/23)


高低差がある地形が設定できるようにします。


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



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

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


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




☆マップの準備
壁や高低差の有無の判断は、地形ID(地形番号)を使います。
基本的に地形IDの番号が大きいほど、高い位置の地形になります。
高さの基準は影の位置なので、ボールが表示されている位置に壁があっても、
影の位置に壁が無い場合は「壁に当たった」とはなりません。


まずチップセット画像を準備してください。
チップセット画像はRTPの物でも問題ありませんが、
同じ画像でいくつかの地形IDを準備したい時には、
RTPを加工するなどして、高さごとの地形(下層チップ)を用意してください。
▼サンプルのチップセットを改造した物


なお、通常使うチップセットとは別に、
地形IDを記載したチップセット画像も準備してください。
これがあるとマップを作る時の設定ミスを防ぐ事ができます。



データベース「地形」にて1マスの高さごと(16ピクセルごと)の地形番号を用意してください。



データベース「チップセット」にて、各下層チップに地形IDを設定してください。



動作テスト用のマップを作成してください。
※マップは「横20×縦15・ループなし」で準備してください。


下層チップを設定する時には、
地形IDが書かれたチップセットを使って設定すると、
間違えて設定するリスクが減ります。




☆高低差処理の確認
基本的にボールは放物線を描いて移動します。
影は地形IDの高さによって上下に変化しながら移動します。



影の位置ボールの位置より上に移動した場合は、
ボールの高さより高い地形(壁)に当たった(または地面に落ちた)と判断されて、
ボールが消えるようにします。



坂道の途中からボールを投げた場合(下のマスの地形番号が小さい時)は、
1マス上のマスから投げた状態にします。



ゲーム画面は2Dで表示されているので、高低差のある立体的な表現には限界があります。

例えば、下図のような状況の場合、影が高さ32ピクセルの地形に当たっているので、
この状態で壁に当たったと判断されて、ボールは消えてしまいます。

これを消えないように改良しますと、今度は別の条件の時に、
ボールが不自然に消えたり、逆にボールが全く消えなかったりします。
そのため、ある程度は見た目が不自然な状況が残ります。



☆コモンイベントの設定
コモンイベントの設定を行います。

■コモンイベント「放物線移動:キー処理」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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<加算1にして主人公の下のマスにする
◆指定位置の地形ID取得:(V[0011],V[0012]),[0016:ボールの影地形ID]<下のマスの地形ID取得
◆条件分岐:変数[0013:ID取得]がV[0016]より大きい(オプション:ON)<地形IDが変わる坂道の途中にいる時
 ◆変数の操作:[0015:ボールの影Y]代入,-16<発射位置を上に16ピクセル移動
 ◆
:それ以外の場合<地形IDが変わる坂道の途中にはいない時
 ◆変数の操作:[0015:ボールの影Y]代入,0
 ◆
:分岐終了

◆条件分岐:スイッチ[0011:移動中:ボール01]がOFF
 ◆変数の操作:[0110:ボール01:高さピクセル]代入,変数[0013]の値<主人公位置の地形IDを設定
 ◆変数の操作:[0110:ボール01:高さピクセル]乗算,-16<ピクセル単位に変えて発射高さとする
 ◆変数の操作:[0110:ボール01:高さピクセル]加算,16
<1マス分下げる
 ◆変数の操作:[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
 ◆スイッチの操作:[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
  ◆
 :分岐終了
 ◆注釈:----------------------------
 :  :高低差チェック
 :  : 

 ◆変数の操作:[0011:ボールのX]代入,変数[0101]の値<影のX位置をコピー
 ◆変数の操作:[0012:ボールのY]代入,変数[0102]の値<影のY位置をコピー
 ◆変数の操作:[0011〜0012]除算,16<除算16でマス単位にする
 ◆指定位置の地形ID取得:(V[0011],V[0012]),[0009:ボールの高さ]
 ◆指定位置の地形ID取得:(V[0011],V[0012]),[0016:ボールの影地形ID]
 ◆変数の操作:[0009:ボールの高さ]乗算,-16<ピクセル単位に変えて発射高さとする
 ◆変数の操作:[0009:ボールの高さ]加算,16<1マス分下げる
 ◆変数の操作:[0015:ボールの影Y]代入,変数[0102]の値<影のY位置をコピー
 ◆変数の操作:[0015:ボールの影Y]加算,変数[0009]の値<影の位置にあった高さ地形のピクセル数にする
 ◆変数の操作:[0012:ボールのY]代入,変数[0015]の値<表示する影のY位置をコピー
 ◆変数の操作:[0012:ボールのY]除算,16<除算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]以上(オプション:ON)<修正した影位置が高い時
 ◆条件分岐:変数[0015:ボールの影Y]がV[0010]以上(オプション:ON)<影の方がボールより下に表示している時
   ◆ピクチャーの移動:1,(V[0101],V[0015]),0.0秒(透明度:60%)
   ◆
  :それ以外の場合<影の方がボールより上に表示している時
   ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
   ◆
  :分岐終了
  ◆
 :それ以外の場合<修正した影位置の地形IDが低い時
  ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
  ◆
 :分岐終了
 ◆条件分岐:変数[0010:ボールのY表示位置]がV[0015]以上(オプション:ON)<影よりボールが画面下になった時
  ◆変数の操作:[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番




☆当たり判定も設定している場合
高低差当たり判定も設定している場合は、
コモンイベント「放物線移動:ボール移動」の設定を以下のように修正してください。

この色の部分は、基礎ページからあった設定です。
この色の部分は、当たり判定の設定です
この色の部分は、高低差の設定です
この色の部分は、当たり判定+高低差の時の設定です



▼イベントIDの当たり判定

■コモンイベント「放物線移動:ボール移動」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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
  ◆
 :分岐終了
 ◆注釈:----------------------------
 :  :高低差チェック
 :  : 

 ◆変数の操作:[0011:ボールのX]代入,変数[0101]の値
 ◆変数の操作:[0012:ボールのY]代入,変数[0102]の値
 ◆変数の操作:[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]除算,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]以上(オプション:ON)
 ◆条件分岐:変数[0015:ボールの影Y]がV[0010]以上(オプション:ON)
   ◆ピクチャーの移動:1,(V[0101],V[0015]),0.0秒(透明度:60%)
   ◆
  :それ以外の場合
   ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
   ◆
  :分岐終了
  ◆
 :それ以外の場合
  ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
  ◆
 :分岐終了
 ◆条件分岐:変数[0010:ボールのY表示位置]がV[0015]以上(オプション:ON)
  ◆変数の操作:[0010:ボールのY表示位置]代入,変数[0015]の値
  ◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
  ◆
 :それ以外の場合
  ◆ピクチャーの移動:11,(V[0101],V[0010]),0.0秒(透明度:0%)
  ◆
 :分岐終了

 ◆注釈:----------------------------
 :  :当たり判定
 :  : 

 ◆変数の操作:[0009:ボールの高さ]代入,変数[0010]の値
 ◆変数の操作:[0009:ボールの高さ]減算,変数[0015]の値<修正する
 ◆条件分岐:変数[0009:ボールの高さ]が-8以上
  ◆変数の操作:[0011:ボールのX]代入,変数[0101]の値
  ◆変数の操作:[0012:ボールのY]代入,変数[0015]の値<修正する
  ◆変数の操作:[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
 ◆条件分岐:変数[0010:ボールのY表示位置]がV[0015]以上
  ◆注釈:----------------------------
  :  :ボールが着弾(ボールを消す)
  :  : 

  ◆効果音の演奏:打撃6
  ◆ラベルの設定:11番
  ◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
  ◆
 :分岐終了
 ◆
:それ以外の場合
 ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
 ◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:10番




▼画面位置の当たり判定

■コモンイベント「放物線移動:ボール移動」
イベント開始条件:定期的に並列処理する
◆ラベルの設定: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
  ◆
 :分岐終了
 ◆注釈:----------------------------
 :  :高低差チェック
 :  : 

 ◆変数の操作:[0011:ボールのX]代入,変数[0101]の値
 ◆変数の操作:[0012:ボールのY]代入,変数[0102]の値
 ◆変数の操作:[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]除算,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]以上(オプション:ON)
 ◆条件分岐:変数[0015:ボールの影Y]がV[0010]以上(オプション:ON)
   ◆ピクチャーの移動:1,(V[0101],V[0015]),0.0秒(透明度:60%)
   ◆
  :それ以外の場合
   ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
   ◆
  :分岐終了
  ◆
 :それ以外の場合
  ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
  ◆
 :分岐終了
 ◆条件分岐:変数[0010:ボールのY表示位置]がV[0015]以上(オプション:ON)
  ◆変数の操作:[0010:ボールのY表示位置]代入,変数[0015]の値
  ◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
  ◆
 :それ以外の場合
  ◆ピクチャーの移動:11,(V[0101],V[0010]),0.0秒(透明度:0%)
  ◆
 :分岐終了

 ◆注釈:----------------------------
 :  :当たり判定
 :  : 

 ◆変数の操作:[0009:ボールの高さ]代入,変数[0010]の値
 ◆変数の操作:[0009:ボールの高さ]減算,変数[0015]の値<修正する
 ◆条件分岐:変数[0009:ボールの高さ]が-8以上
  ◆条件分岐:変数[0041:敵イベントID開始値]が2以下
   ◆条件分岐:変数[0042:敵イベントID終了値]が2以上
    ◆変数の操作:[0011:ボールのX]代入,変数[0101]の値
    ◆変数の操作:[0012:ボールのY]代入,変数[0015]の値<修正する
    ◆変数の操作:[0011:ボールのX]減算,敵(ID:02)の画面X
    ◆変数の操作:[0012:ボールのY]減算,敵(ID:02)の画面Y
    ◆変数の操作:[0012:ボールのY]加算,8
    ◆変数の操作:[0011〜0012]除算,8
    ◆条件分岐:変数[0011:ボールのX]が0
     ◆条件分岐:変数[0012:ボールのY]が0
      ◆スイッチの操作:[0002:当たり確認]をOFFにする
      ◆イベントの呼び出し:敵(ID:02)[1]
      ◆条件分岐:スイッチ[0002:当たり確認]がON
       ◆指定ラベルへ飛ぶ:11番
       ◆
      :分岐終了
      ◆
     :分岐終了
     ◆
    :分岐終了
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆条件分岐:変数[0041:敵イベントID開始値]が3以下
   ◆条件分岐:変数[0042:敵イベントID終了値]が3以上
    ◆変数の操作:[0011:ボールのX]代入,変数[0101]の値
    ◆変数の操作:[0012:ボールのY]代入,変数[0015]の値<修正する
    ◆変数の操作:[0011:ボールのX]減算,敵(ID:03)の画面X
    ◆変数の操作:[0012:ボールのY]減算,敵(ID:03)の画面Y
    ◆変数の操作:[0012:ボールのY]加算,8
    ◆変数の操作:[0011〜0012]除算,8
    ◆条件分岐:変数[0011:ボールのX]が0
     ◆条件分岐:変数[0012:ボールのY]が0
      ◆スイッチの操作:[0002:当たり確認]をOFFにする
      ◆イベントの呼び出し:敵(ID:03)[1]
      ◆条件分岐:スイッチ[0002:当たり確認]がON
       ◆指定ラベルへ飛ぶ:11番
       ◆
      :分岐終了
      ◆
     :分岐終了
     ◆
    :分岐終了
    ◆
   :分岐終了
   ◆
  :分岐終了
  ◆
 :分岐終了

 ◆注釈:----------------------------
 ◆変数の操作:[0107:ボール01:高さ%±]減算,1
 ◆条件分岐:変数[0010:ボールのY表示位置]がV[0015]以上
  ◆注釈:----------------------------
  :  :ボールが着弾(ボールを消す)
  :  : 

  ◆効果音の演奏:打撃6
  ◆ラベルの設定:11番
  ◆スイッチの操作:[0011:移動中:ボール01]をOFFにする
  ◆
 :分岐終了
 ◆
:それ以外の場合
 ◆ピクチャーの移動:1,(160,120),0.0秒(透明度:100%)
 ◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
 ◆
:分岐終了
◆指定ラベルへ飛ぶ:10番




☆補足
このページの設定は、
固定画面(横20×縦15+ループなし)のみで使用できる設定です。
固定画面では無いマップに対応させるには、画面スクロール対応の設定も必要になります。



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

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