自作ゲームリメイク中-ステータスとuGUIの連携編-(Unity制作)
今回は自機のステータスをuGUIに反映する連携編です
前回
自作ゲームリメイク中-カメラシステム編-(Unity制作) - Redhuのゲーム開発Fragments
まず自機の仕様として、エネルギー制を追加しました。
それに伴い、EN最大値・EN現在値・OB始動消費EN値・OB持続消費EN値・EN自然回復値の変数を用意しました。
ジャンプ、OB成立時、OB持続時に、それぞれエネルギーを消費します。(ジャンプによる消費はOB始動値を使ってます)
さて、ゲームとしてはこれらのステータス変動がちゃんと目に見えてなきゃいけません。
そこでuGUIと連動させる必要があります。uGUIについてはだいぶ前に軽くまとめてあります。
Unity4.6のuGUIについてのお勉強 - Redhuのゲーム開発Fragments
今回はImageの Image TypeをFilledにして、Fill Amountの値と連動させることで反映させる方法をとっています。画面中央の円形ゲージの右側半分がエネルギーゲージとなります(右側は装甲値の予定)
連動用として、Playerが持つ「PlayerBattleUI」というスクリプトを用意しました。
uGUIをスクリプトから弄るためには
using UnityEngine.UI;
の宣言が必要です。
その後、プレイヤーがシーンにあるUIカンバスを見つけて、その中にあるENゲージ用のimageを弄る対象としてセットします。
あとはそのFill Amountの値に、EN最大値/EN現在値 を算出して入れてあげればOKです。
今回は半円ゲージなのでFill MethodをRadial180にしてFill OriginをRightにしてます(もともと左側のゲージだったのでScaleを-1にして)
あとImageはデフォルトでアルファ値が100になるっぽいので薄いと感じたら255にしたり、飾りなのに主張し過ぎだとおもったら50に下げたり調節はしてみよう!
次はパーツごとにステータス設定してカスタマイズシステムの根っこを作るか。
はたまた銃を持って射撃攻撃可能となるか。気分次第ですw
次回>自作ゲームリメイク中-当たり判定・弾丸編-(Unity制作) - Redhuのゲーム開発Fragments