RPGツクール2000/演出
落石イベント
■区画に分けて処理する
(更新:2016/05/07)


落石イベントの岩の落ち方を区画に分けて処理します。


このページは応用ページです
このページは応用ページであり、基礎ページ落石イベントになります。
【落石イベントのページを開く】

まず基礎ページのイベントを設定して頂き、問題なく動いた後に、
このページで紹介している改良を行った方が良いでしょう。

コモンイベントに設定するダメージ処理のイベントは、
落石イベントの内容と変わりませんので、このページには記載しておりません。

落石イベントのページと同じイベントコマンドの設定の所は、この色で表示しています。



☆2区画に分ける
岩が落ちてくる横の範囲が広いと岩の落ち方にばらつきが出てしまいます。

▼主人公の周りにはたくさんの岩が落ちてきていますが、
 主人公の真上には岩が全く落ちてこない。





そこで岩の落下範囲を2区画に分けて処理する方法を紹介します。
今回はX6〜14(A区画)X15〜23(B区画)の2区画に分けて岩を落下させます。





X6〜14(A区画)に落とす岩イベントの設定です。

■マップイベント「岩イベントA」
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラと重ならない
グラフィック:透明
移動速度:自由に設定してください(サンプルでは標準速)
◆キャラクターの動作指定:このイベント,すりぬけ開始,下に移動
◆変数の操作:[0001:当たり判定確認]代入,このイベントのX座標
◆変数の操作:[0001:当たり判定確認]減算,主人公のX座標
◆条件分岐:変数[0001:当たり判定確認]が0
 ◆変数の操作:[0001:当たり判定確認]代入,このイベントのY座標
 ◆変数の操作:[0001:当たり判定確認]減算,主人公のY座標
 ◆条件分岐:変数[0001:当たり判定確認]が0
  ◆スイッチの操作:[0001:ダメージ]をONにする
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0002:画面Y]代入,このイベントの画面Y
◆条件分岐:変数[0002:画面Y]が240以上
 ◆変数の操作:[0003:ランダムA区画]加算,乱数[2〜7]<乱数の範囲を変更
 ◆変数の操作:[0003:ランダムA区画]剰余,9<剰余の範囲を変更
 ◆変数の操作:[0004:X座標]代入,変数[0003]の値
 ◆変数の操作:[0004:X座標]加算,6
 ◆変数の操作:[0005:Y座標]代入,-1
 ◆イベントの位置を設定:このイベント,(V[0004],V[0005])
 ◆キャラクターの動作指定:このイベント,グラフィック変更
 ◆
:分岐終了




X15〜23(B区画)に落とす岩イベントの設定です。
乱数用の変数は、Aとは異なる変数番号にしてください。

■マップイベント「岩イベントB」
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラと重ならない
グラフィック:透明
移動速度:自由に設定してください(サンプルでは標準速)
◆キャラクターの動作指定:このイベント,すりぬけ開始,下に移動
◆変数の操作:[0001:当たり判定確認]代入,このイベントのX座標
◆変数の操作:[0001:当たり判定確認]減算,主人公のX座標
◆条件分岐:変数[0001:当たり判定確認]が0
 ◆変数の操作:[0001:当たり判定確認]代入,このイベントのY座標
 ◆変数の操作:[0001:当たり判定確認]減算,主人公のY座標
 ◆条件分岐:変数[0001:当たり判定確認]が0
  ◆スイッチの操作:[0001:ダメージ]をONにする
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0002:画面Y]代入,このイベントの画面Y
◆条件分岐:変数[0002:画面Y]が240以上
 ◆変数の操作:[0006:ランダムB区画]加算,乱数[2〜7]<変数番号と乱数の範囲を変更
 ◆変数の操作:[0006:ランダムB区画]剰余,9<変数番号と剰余の範囲を変更
 ◆変数の操作:[0004:X座標]代入,変数[0006]の値<変数番号を変更
 ◆変数の操作:[0004:X座標]加算,15<B区画の最も左のX座標値を加算
 ◆変数の操作:[0005:Y座標]代入,-1
 ◆イベントの位置を設定:このイベント,(V[0004],V[0005])
 ◆キャラクターの動作指定:このイベント,グラフィック変更
 ◆
:分岐終了




岩イベントの設定は、こんな感じに分けて設定しておけば、
AとBのそれぞれの岩の個数を把握しやすくなるでしょう。
▼A区画の岩イベント B区画の岩イベント▼



☆3区画(計10区画)
横長のマップ上に岩を落とす場合、上記のように区画に分けて岩を落とす方法が有効的ですが、
120マスと言った長い範囲に岩を落とす場合、多くの岩イベントを配置する必要があります。

このような時には、A、B、Cの3区画の岩イベントを用意し、
主人公の位置(X座標)によって、岩を落とす位置を変えていけば、
少ない岩イベントで効率良く広い範囲に岩を落とす事ができます。

今回は1区画を12マスとして、3区画分(A、B、C)を用意します。
そして下図のように10区画に分けて、
主人公が現在いる位置(X座標)によって、岩を落とす区画を変えていきます。

▼主人公がいる区画とその前後の区画のみに岩を落とします


各区画のX座標は以下の通りです。
区 画
X座標 6〜17 18〜29 30〜41 42〜53 54〜65 66〜77 78〜89 90〜101 102〜123 124〜135

乱数用の変数は、3区画分(A、B、C)を用意してください。



岩イベントには、
◆条件分岐:変数[0004:X座標]が124以上
 ◆変数の操作:[0004:X座標]代入,124
 ◆
:分岐終了

と言った感じの設定があります。
これは範囲外に岩が落ちないようにするための設定です。




■マップイベント「岩イベントA」
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラと重ならない
グラフィック:透明
移動速度:自由に設定してください(サンプルでは標準速)
◆キャラクターの動作指定:このイベント,すりぬけ開始,下に移動
◆変数の操作:[0001:当たり判定確認]代入,このイベントのX座標
◆変数の操作:[0001:当たり判定確認]減算,主人公のX座標
◆条件分岐:変数[0001:当たり判定確認]が0
 ◆変数の操作:[0001:当たり判定確認]代入,このイベントのY座標
 ◆変数の操作:[0001:当たり判定確認]減算,主人公のY座標
 ◆条件分岐:変数[0001:当たり判定確認]が0
  ◆スイッチの操作:[0001:ダメージ]をONにする
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0002:画面Y]代入,このイベントの画面Y
◆条件分岐:変数[0002:画面Y]が240以上
 ◆変数の操作:[0003:ランダムA区画]加算,乱数[2〜10]<乱数の範囲を変更
 ◆変数の操作:[0003:ランダムA区画]剰余, 12<剰余の範囲を変更
 ◆変数の操作:[0004:X座標]代入,主人公のX座標
 ◆条件分岐:変数[0004:X座標]が124以上<一番右のAの始まりのX座標
  ◆変数の操作:[0004:X座標]代入,124
  ◆
 :分岐終了
 ◆変数の操作:[0004:X座標]加算,6<36(12マス×3区画)−30(Cの一番左のX座標)を加算
 ◆変数の操作:[0004:X座標]除算,36<36(12マス×3区画の値)で除算
 ◆変数の操作:[0004:X座標]乗算,36<36(12マス×3区画の値)で乗算

 ◆変数の操作:[0004:X座標]加算,変数[0003]の値<加算に変更
 ◆変数の操作:[0004:X座標]加算,6
 ◆変数の操作:[0005:Y座標]代入,-1
 ◆イベントの位置を設定:このイベント,(V[0004],V[0005])
 ◆キャラクターの動作指定:このイベント,グラフィック変更
 ◆
:分岐終了




■マップイベント「岩イベントB」
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラと重ならない
グラフィック:透明
移動速度:自由に設定してください(サンプルでは標準速)
◆キャラクターの動作指定:このイベント,すりぬけ開始,下に移動
◆変数の操作:[0001:当たり判定確認]代入,このイベントのX座標
◆変数の操作:[0001:当たり判定確認]減算,主人公のX座標
◆条件分岐:変数[0001:当たり判定確認]が0
 ◆変数の操作:[0001:当たり判定確認]代入,このイベントのY座標
 ◆変数の操作:[0001:当たり判定確認]減算,主人公のY座標
 ◆条件分岐:変数[0001:当たり判定確認]が0
  ◆スイッチの操作:[0001:ダメージ]をONにする
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0002:画面Y]代入,このイベントの画面Y
◆条件分岐:変数[0002:画面Y]が240以上
 ◆変数の操作:[0006:ランダムB区画]加算,乱数[2〜10]<変数番号と乱数の範囲を変更
 ◆変数の操作:[0006:ランダムB区画]剰余, 12<変数番号と剰余の範囲を変更
 ◆変数の操作:[0004:X座標]代入,主人公のX座標
 ◆条件分岐:変数[0004:X座標]が90以上<一番右のBの始まりのX座標
  ◆変数の操作:[0004:X座標]代入,90
  ◆
 :分岐終了
 ◆変数の操作:[0004:X座標]減算,6<42(左から2番目のAの始まりのX座標)−36(12マス×3区画)を減算
 ◆変数の操作:[0004:X座標]除算,36<36(12マス×3区画の値)で除算
 ◆変数の操作:[0004:X座標]乗算,36<36(12マス×3区画の値)で乗算

 ◆変数の操作:[0004:X座標]加算,変数[0006]の値<加算と変数番号を変更
 ◆変数の操作:[0004:X座標]加算,18<B区画の最も左のX座標値を加算
 ◆変数の操作:[0005:Y座標]代入,-1
 ◆イベントの位置を設定:このイベント,(V[0004],V[0005])
 ◆キャラクターの動作指定:このイベント,グラフィック変更
 ◆
:分岐終了




■マップイベント「岩イベントC」
イベント出現条件:なし
イベント開始条件:定期的に並列処理する
プライオリティタイプ:通常キャラと重ならない
グラフィック:透明
移動速度:自由に設定してください(サンプルでは標準速)
◆キャラクターの動作指定:このイベント,すりぬけ開始,下に移動
◆変数の操作:[0001:当たり判定確認]代入,このイベントのX座標
◆変数の操作:[0001:当たり判定確認]減算,主人公のX座標
◆条件分岐:変数[0001:当たり判定確認]が0
 ◆変数の操作:[0001:当たり判定確認]代入,このイベントのY座標
 ◆変数の操作:[0001:当たり判定確認]減算,主人公のY座標
 ◆条件分岐:変数[0001:当たり判定確認]が0
  ◆スイッチの操作:[0001:ダメージ]をONにする
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0002:画面Y]代入,このイベントの画面Y
◆条件分岐:変数[0002:画面Y]が240以上
 ◆変数の操作:[0007:ランダムC区画]加算,乱数[2〜10]<変数番号と乱数の範囲を変更
 ◆変数の操作:[0007:ランダムC区画]剰余, 12<変数番号と剰余の範囲を変更
 ◆変数の操作:[0004:X座標]代入,主人公のX座標
 ◆条件分岐:変数[0004:X座標]が102以上<一番右のCの始まりのX座標
  ◆変数の操作:[0004:X座標]代入,102
  ◆
 :分岐終了
 ◆変数の操作:[0004:X座標]減算,18<54(左から2番目のBの始まりのX座標)−36(12マス×3区画)を減算
 ◆変数の操作:[0004:X座標]除算,36<36(12マス×3区画の値)で除算
 ◆変数の操作:[0004:X座標]乗算,36<36(12マス×3区画の値)で乗算

 ◆変数の操作:[0004:X座標]加算,変数[0007]の値<加算と変数番号を変更
 ◆変数の操作:[0004:X座標]加算,30<C区画の最も左のX座標値を加算
 ◆変数の操作:[0005:Y座標]代入,-1
 ◆イベントの位置を設定:このイベント,(V[0004],V[0005])
 ◆キャラクターの動作指定:このイベント,グラフィック変更
 ◆
:分岐終了




◎関連ページ
 ●落石イベント
 〇区画に分けて処理する


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