イベント処理の中断の使い方

どうもお久しぶりですhirameです。ご無沙汰してます。

新作のほう、そろそろ情報が出せたらいいなとか思いつつ結構な時間が経っています。

そんなわけで今回も新作とは全く関係ない更新です。

RPGツクールでイベントを作成する際のTIPS的な内容となりますので、興味の無い方はそのまま戻るボタンを押すなどしてください。

 

 

TLで「ツクールでイベント作る時、イベント処理の中断の存在意義が分からん」的なものが流れたので、そんなことはないんだよ、『イベント処理の中断』は出来る子なんだよということを書いていきます。

 

 

まずは下記画像を見てください。

0001

条件分岐の処理をする設定際、スイッチなど条件がいくつか重なるとこんな感じの処理になると思います。

上画像の内容のように、フラグがすべてONの場合の処理が1行で済めば良いのですが1行で済むことは少なく、この部分が100行以上続く場合もあるのではないでしょうか?

で、この処理の中にまた分岐などがあったりして、分岐内の処理が正しいのかどうか一目見ただけでは分からなくなったりすることはないでしょうか?

 

 

そこで下記画像を見てください。

0002

条件分岐の処理を書き換えてみました。

各フラグがOFFの場合『イベント処理の中断をすることにより、最初に上げた画像の内容と同等の処理を行うようにしています。

ただし先ほどの内容とは違い、処理の内容に条件分岐などを加えてもある程度見やすい処理になるのではないでしょうか?

 

 

『イベント処理の中断』はイベントを作成する際で必須になることはあまりありません。

しかしイベントの処理の内容を整理するという点においてかなり重要な処理なのです。

 

 

 

違う例を書いてみます。

0003

こんな感じの処理、たまに無いでしょうか?

条件分岐が複雑になればなるほど階層が深くなりわけが分からなくなるパターンですね。

 

 

というわけで下記のように書き直してみました。

0004

もっと複雑になってるじゃねえか!!

と思われるかもしてませんがちょっと見直してもらえないでしょうか。注釈が入っているからそう感じるだけです。

処理の内容的には各フラグの状況に応じてラベルでジャンプし、飛んだ先で処理が完了したらそのままイベントを中断するといったものです。

ただこれだと、例えば12行目に何かしらの処理を入れたいといった場合でも、条件分岐フラグ3内の処理でイベントを中断してしまうため、処理を追加しても実行されることはありません。

 

 

なので下記のような例も作ってみました。

0005

4行目で下のラベル(12=on)に飛ばし、処理が完了したら5行目のラベル(12=on復帰)に戻ってくるといったものです。

先ほどの例ではラベル内の最後の処理をすべて『イベント処理の中断』で終了していましたが、このようにラベルで条件分岐内で飛ばしてあげるのも良いかもしれません。

上記のような処理は一見すると複雑に見えます。というかどうみても複雑です。

ただまあ上のほうでは大まかな条件分岐、下のほうでは実際の処理内容と分けているため、少なくとも条件分岐の階層の深さによって処理の内容が見辛くなるといった問題はある程度解消できていると思われます。

 

 

 

 

『イベント処理の中断』の使い方を書いてみましたがどうでしょうか?

ラベルに関してはBASICなどで使うgoto的なものなのでその解説どうなのって方もいるかもしれませんが、そういう方は自分なりの解決方法を持っているでしょう。例えばコモンイベントを多用するとか。

というか最後のほうではラベルの使い方の解説になっている気もしますが、こういう使い方もあるんだよということであまり気にしないでください。あくまでもこういう使い方で処理を見やすくできるかもしれませんという例を挙げただけなので。

 

 

次の更新は作品の紹介が出来ると信じて。それでは!!


Posted in: RPGツクール, 技術

Comments are closed.