QuestNotes開発日記

MMOTRPG「QuestNotes(クエストノーツ)」を開発しています。不具合や要望があればぜひご一報ください。 

バックグラウンドイベント

f:id:questnotes:20110806210657p:image
アクティブシーン中のNPCのエンターイベントの処理を動作させようとしていたところ、
NPCのイベント処理は、通常のプレイヤーが実行するイベント処理とは分けたほうがいいと考え、
イベントを裏側で実行できるようにしました。
ついでに、汎用的に使えるようにしたほうが便利だと考え、
コマンド経由でバックグラウンドイベントを呼び出せるようにしました。
バックグラウンドイベントでは、一部のコマンドの動作が簡略化されます。


■ローカル変数
バックグラウンドに合わせて、変数の種類をもう一つ作成しました。
イベント内でのみ有効な「ローカル変数」を作成しました。
「ローカル変数」の特徴は次の2点です。
・イベント実行ごとに同じ変数IDを指定しても、それぞれが独立します。
・イベント中に明示的に保存をしていないとイベント終了時に消去します。


バックグラウンドに複数のイベントが同時に行われると、
今までのようなキャラクター変数を基本にしていると、
競合が起こってしまう可能性があるので、
デフォルトをローカル変数にしました。


他のイベントとの変数の受け渡しをしたい場合には、
引数や返り値、キャラクター変数に保存などを使用してください。