ゲージ関連のスクリプト素材は色々なサイトで配布されていますが、
オリジナリティや、全体的なゲームの雰囲気との調和を考えた場合、
やはり自分で作ったものが一番しっくりくるでしょう。
しかしそれは、結局自分のゲームに合わせるものなので、
そのまま抜き出して他の場所で使うのはなかなか難しいです。汎用性に欠けるというか。
デフォにはない他のスクリプトに依存してたりね!
で、今回はとりあえず転用が比較的楽そうなステータスバーについて紹介してみようと思います。
かなり噛み砕いた解説です。分かってる人には読むまでもないです。
←この緑の棒グラフ
ニコニコでのアップ分のPart6をご覧になれば分かりますが、
パーティに人間がいる時、いない時、等々がトリガーとなって条件分岐するイベントがあります。
これをどうやって判定するのかっていうのが今回の話。
メンバーが変わるごとに今居るメンバーを取得して、誰が居るかをスイッチで管理。
そしてスイッチn番とスイッチm番のキャラは人間だから、
それらが一つでもONになっている場合以外は条件外…
なんて事をやっても良い(スクリプトを使わないならそうするしかないでしょう)です。
が、そんな面倒な事をしていると、登場キャラを増やせば増やすほど、中の人が死にます。
またエターナルに一歩近付くのが目に見えてますね。
そういう訳で私はどうしているかと言うと、こうしているんですよ!
はい。
「条件分岐:スクリプト:人間がいる」これで判定します。
class Interpreter の内部で 人間がいる の条件を定義し、
後は、それを条件分岐で使う。
他にも応用を利かせれば、条件分岐の使い方にかなり幅が出てきます。
よく使う条件を定義しておき、条件分岐のコマンドとして使用するわけです。
当該部分だけを抜き出すと、
class Interpreter
#--------------------------------------------------------------------------
# ● 人間がいる
#--------------------------------------------------------------------------
def 人間がいる
for i in [1,3,9,33,71,83]
if $game_party.actors.include?($game_actors[i])
return true
end
end
return false
end
end
すなわち、アクター1、3、9、33、71、83の内の一人でもパーティに居る時はtrue、
それ以外の場合はfalseを返すという単純なコードです。
単純ですが、しかしこれをコモンイベントとスイッチを駆使してやるとかなりの手間になるという事。
そんな面倒なイベント組むのはイヤだ!という我儘なそこの貴方にお勧めです!