LemonteaのUnity部屋

LemonteaのUnity部屋

Unityの使い方とかです~

Unity SliderをHPゲージにしたとき値が0でもゲージが残るときの対処

こんにちは。レモンティーです。

HPゲージの実装をどうするかは人それぞれですが、
今回はSliderを使ってみます。

スクリプトからの操作がしやすいのが嬉しいポイントですね。

Sliderとして取得して X.Value = 100; みたいにするだけでいけます
最大値はX.MaxValueです。


しかしSliderをゲージに使おうとすると、
値が0のときに綺麗に消えずにこんな風になります

f:id:sawalemontea:20170828141619p:plain

もともとツマミがあったところですね。
これでは台無しです。

そんな時はFill AreaとFillのRectTransformを全て0にすれば解決します。

実際にやってみます。


まず、Sliderをつくり、不要なツマミ(ハンドル)↓を消します。

f:id:sawalemontea:20170828141859p:plain


次に、FillのRectTransformを全て0にします。

f:id:sawalemontea:20170828142005p:plain

f:id:sawalemontea:20170828142019p:plain

これで値が0のときだけなら↓のようになりますが、
f:id:sawalemontea:20170828142058p:plain

値があるとゲージが端に届いていません↓

f:id:sawalemontea:20170828142135p:plain

そこでFill AreaのRectTransformも全て0にします
f:id:sawalemontea:20170828142236p:plain

f:id:sawalemontea:20170828142222p:plain

これで、概ね思った通りになったのではないでしょうか。

ためしに値を変えてみるには、SliderコンポーネントのValue↓を変えます。
f:id:sawalemontea:20170828142355p:plain

f:id:sawalemontea:20170828142459p:plain
f:id:sawalemontea:20170828142509p:plain
f:id:sawalemontea:20170828142518p:plain

大丈夫っぽいですね。


今回はこれでおしまいです。