スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

マップイベントの変数一括操作テクニック

使える豆知識のようなものを書こうとしても、わりと当たり前のことばかりな気がしてきたので、ウディタ独自のテクニックを一つ紹介します。
ウディタでは全ての変数を、格納されている場所を数値で指定することで操作することができます。
これを利用すれば、コモンイベントで現在のマップイベントのセルフ変数を一括操作するなどといったことが可能となります。
▼ イベントID初期化
■変数操作: CSelf10[マップイベントID] = 0 + 0
▼ マップイベントを100個調査
■回数付きループ [ 100 ]回
|▼ マップイベントのコモン変数を呼び出す
|▼ 1000000+10*Y+Xで呼び出せる
|■変数操作: CSelf11[操作したい変数] = CSelf10[マップイベントID] * 10
|■変数操作: CSelf11[操作したい変数] += 1000009 + 0
|▼ このコモンでは、イベントID0~99のマップイベントの
|▼ セルフ変数9番の値を呼び出している
|■変数操作: CSelf12[変数格納] = V[CSelf12[変数格納]] + 0
|▼ セルフ変数9番の値が0なら1に変更する
|■条件分岐(変数): 【1】CSelf12[変数格納]が0と同じ
|-◇分岐: 【1】 [ CSelf12[変数格納]が0と同じ ]の場合↓
||■変数操作: V[CSelf11[操作したい変数]] = 1 + 0
||■
|◇分岐終了◇
|▼ 調査しているID番号を加算する
|■変数操作: CSelf10[マップイベントID] += 1 + 0
|■
◇ループここまで◇◇
サンプル的なコモンを作ってみました。
これは現在のマップにあるマップイベントを走査して、セルフ変数が9のものがあれば全て1に変えるという処理です。
この処理は複数のイベントを一括で管理する時に便利です。
現在作っているゲームでは、トラップの探知にこれを応用して使っています。
まずマップに入ると共に、トラップのマップイベントは自動実行で自分のセルフ変数9番を1にします。
その後、探知ボタンが押されたらマップ全体の中でセルフ変数9番が1のかつ探知範囲内にあるものを調べるようにしています。
こうすることにより、出入り口のイベントなど関係のないマップイベントに反応しないようにしています。
トレはん!の敵の処理などにも応用しています。
こうすると自作システムでマップイベントを一括管理したいときに非常に便利だと思います。

ゲーム作りは少し難航中、なかなか手が進みません。
もう十日ぐらいしかないのに間に合うか心配です。

拍手を下さりありがとうございます。
スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。