このコーナーでは、主に初心者さんに向けたイベントのテクニックを紹介していきます。
RPGツクールVXAceで説明していきますが、多くはVXや他のツクールでも可能です。
合言葉は「スクリプトならあーだ、スクリプトならこーだ
スクリプトがご立派なのはよーく分かりやしたよぉ」
第十二回は複雑になりがちな条件分岐の整理方法の紹介です。
何度か紹介しているスクリプトの条件文を使った方法ではなく
スイッチや変数などイベントコマンドを使うことで処理を見やすく別ける方法です。
つづきはこちら、からどうぞ。
例えばこういう判定を作りたいと思います。
「パーティ内に、スキルAを習得しているアクターがいるかどうか」
条件分岐ではアクターがスキルを習得しているかどうかと
アクターがパーティにいるかどうかはそれぞれ判定できますよね。
しかし問題はパーティ内にスキルAを習得しているアクターが複数いる場合です。
普通、条件分岐でこういう場合は
「それ以外の場合」に次のアクターの判定を置くことで対処しますが
今回は条件が2つあるため、もしその方法でやろうとすると
アクターが4人の場合でも18、5人で28、6人で40の条件分岐が必要になります。
(アクター数が1人増えるごとに、アクター数*条件数が増える計算です)
スイッチを使った例スイッチの操作:スイッチAをoffにする
条件分岐:アクターAがスキルAを習得済み
条件分岐:アクターAがパーティにいる
スイッチの操作:スイッチAをonにする
条件分岐:アクターBがスキルAを習得済み
条件分岐:アクターBがパーティにいる
スイッチの操作:スイッチAをonにする
条件分岐:アクターCがスキルAを習得済み
条件分岐:アクターCがパーティにいる
スイッチの操作:スイッチAをonにする
……
条件分岐:スイッチAがon
(メインの処理)
このイベントの解説判定部分では、条件を満たす場合にスイッチをオンにするだけにして
全ての判定が終わった後にそのスイッチを条件にしてメインの処理を組みます。
こうすることで上述の複数いる場合にも対応できるだけでなく
「スキルAかスキルBを習得しているアクター」を判定したりするのにも向いています。
そして何よりメイン処理の前の条件分岐が1つで済むので見やすいというのも大きいです。
変数を使った例変数の操作:変数A = 0
条件分岐:アクターAがスキルAを習得済み
条件分岐:アクターAがパーティにいる
変数の操作:変数A += 1
条件分岐:アクターBがスキルAを習得済み
条件分岐:アクターBがパーティにいる
変数の操作:変数A += 1
条件分岐:アクターCがスキルAを習得済み
条件分岐:アクターCがパーティにいる
変数の操作:変数A += 1
……
このイベントの解説スイッチを使う代わりに変数を使い、1を加算しています。
このため変数Aによって条件を満たすアクターが何人いるかを取得できます。
また変数Aが1以上という条件分岐を作れば、スイッチを使ったときと同じ使い方もできます。
変数を使い、どのアクターかを識別する例変数の操作:変数A = 0
条件分岐:アクターAがスキルAを習得済み
条件分岐:アクターAがパーティにいる
変数の操作:変数A = 1
条件分岐:アクターBがスキルAを習得済み
条件分岐:アクターBがパーティにいる
変数の操作:変数A = 2
条件分岐:アクターCがスキルAを習得済み
条件分岐:アクターCがパーティにいる
変数の操作:変数A = 3
……
条件分岐:変数Aが1以上
(メインの処理)
このイベントの解説スイッチの代わりに変数を使っていますが、こちらは数ではなくアクターIDを取得する方法です。
変数が上書きされるため、複数いる場合は条件分岐の順番が後であるアクターが優先されます。
[5回]
PR
-->