忍者ブログ

へぷたなすくろーる

RPGツクールのブログです。イベント講座とRGSS3スクリプト配布をやってます♪

Home > > [PR] Home > イベントのすゝめ > イベントのすゝめ(11) 「座標監視イベント」+α

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

イベントのすゝめ(11) 「座標監視イベント」+α

このコーナーでは、主に初心者さんに向けたイベントのテクニックを紹介していきます。
RPGツクールVXAceで説明していきますが、多くはVXや他のツクールでも可能です。
合言葉は「もう組んだのか!はやい!きた!並列きた!並列イベントきた!これで勝つる!」

第十一回は更に第三回で紹介した「判定コモン」の仕組みを使って
プレイヤーの位置を把握するイベントや
プレイヤーの位置にあるリージョンや周囲のイベントなどを把握するイベント
そしてそれを利用する方法を紹介します。
「プレイヤーが草むらに入ったとき○○させる」
「プレイヤーが画面端に来たら○○させる」
「プレイヤーの近くにイベントが来たら○○させる」

応用もしやすい大事な機能を説明していますので参考になるかと思います。
つづきはこちら、からどうぞ。

座標監視イベント
今回はとりあえずコモンではなくマップイベントの並列処理で作成します。
内容は次の通りです。
変数の操作:変数A = プレイヤーのマップX
変数の操作:変数B = プレイヤーのマップY
条件分岐:変数Aが0以下
  スイッチAをonにする
このイベントの解説
さて、使っているコマンドはお馴染みのものですが
気になるのはマップXとマップYですね。因みに変数の操作からゲームデータの項目にあります。
これはプレイヤーの座標(マップのどこにいるか)です。
横方向がX、縦方向がYで、マップの一番左上を0,0として計算します。
マップエディタで右下の方に数字が(001,004)と出てると思いますがこれが座標です。
まずこれを変数に代入して、条件分岐で判定するのがこのイベントの仕組みです。

今回はXが0以下、つまり一番左端にいる場合はスイッチAをonにします。
このスイッチAを他のイベントのトリガーにしています。
実は条件分岐の組み方次第で、四角形の範囲なんかも判定できます。
(Xが3以上6以下で、Yが4以上8以下など)
それから今回マップイベントにした理由ですが
この座標が幾つならという指定はマップ毎に違う場合が多いからです。
一番右端を判定する場合などはマップサイズに合わせて数値を変えなければなりません。

おまけとして、変数の操作のゲームデータからは他にも向きやマップIDを取得できるので
これらも使えばより柔軟な判定が設定できます。

リージョン監視イベント
次はコモンイベントの並列処理で作成してみましょう。
内容は次の通りです。
変数の操作:変数A = プレイヤーのマップX
変数の操作:変数B = プレイヤーのマップY
指定位置の情報取得:変数C、リージョンID、変数A、変数B
条件分岐:変数Cが1
  スイッチAをonにする
このイベントの解説
1つイベントコマンドが増えました。「指定位置の情報取得」です。
これによって、変数Cに、座標(変数A、変数B)のリージョンIDを代入させます。
変数AとBはプレイヤーの座標ですので、言い換えればプレイヤーの位置のリージョンですね。
あとはそれを使って判定するだけです。
座標で判定するよりも汎用的で、複雑な形の判定も行えるのが強みです。

この「指定位置の情報取得」は変数の操作、条件分岐の次に便利な機能です。
リージョンIDの他にも地形タグやタイルIDなどが取得できるため、色々なことができます。

周囲のイベント監視イベント
最後に再びマップイベントの並列処理で作成してみましょう。
内容は次の通りです。
変数の操作:変数A = プレイヤーのマップX
変数の操作:変数B = プレイヤーのマップY
変数の操作:変数A += 1
変数の操作:変数B += 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
変数の操作:変数B -= 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
変数の操作:変数B -= 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
変数の操作:変数A -= 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
変数の操作:変数A -= 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
変数の操作:変数B += 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
変数の操作:変数B += 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
変数の操作:変数A += 1
指定位置の情報取得:変数C、イベントID、変数A、変数B
条件分岐:変数Cが0以外
  スイッチAをonにする
このイベントの解説
さてさて、長いですが内容は単純です。
最初にプレイヤーの座標を取得してから、変数の操作で右下から順に
プレイヤーの周りを反時計回りにチェックしているのです。
そして指定位置の情報取得でイベントIDを取得する場合は
イベントがいない場合は0が入る仕様なので、変数Cが0以外で判定しています。

拍手[7回]

PR
-->
Responses0 Responses
  • お名前
  • タイトル
  • メールアドレス
  • URL
  • パスワード

ブログ内検索

アーカイブ

最新コメント

[10/13 深海樹]
[08/02 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]

プロフィール

バナー

HN:奈々(なな)
RPGツクールVXAceを中心に製作を行っています。 スクリプト、イラスト、ドット絵など広くちょこちょこ手を出していますので、 できる範囲で他のツクーラーさんのお手伝いができたらなと思っています。