【Unity】スライダーを使用して線を書くごとに減少するゲージを作成
こんばんは!
最近は忙しく&金欠のため更新できていません...
古い漫画の感想でも書きましょうか...
さて、前置きはここまでにしておいて...
今回はUnityでスライダーを使用したゲージの作成をしていきます!
どんなゲージかというと、
線を描くことによって、ゲージが減少するようにしました!
こちらの記事を参考にしました!
線を描く機能については前の記事を参照してください。
まずはink(線の量)とスライダー(線の量を表すためのゲージ)を宣言します。
次に、
スライダーの取得を行います。
ここまでは、上の記事を参考にしていただければ作成できると思います。
さて、ここから本題ですね。
このようになってます!
コードについて説明していくと、
if(ink>0){}
これは
もしinkが0よりも大きいなら、
つまり、スライダーの値が0よりも大きい場合に実行されます。
そのifの中にあるコードが線を描くコードになってます。
そのコードの内容については前の記事を参考に!
そして今回追加したのが、
ink-=0.013f;
slider.value = ink;
Invoke("inkReturn", 5f);
これですね!
まず、
ink-=0.013f;
これは、線を描くごとにゲージを0.013fずつ減らしています。
次に、
slider.value = ink;
これは、スライダーに反映させる作業です。
これがないとスライダーは減らないので注意してください!
そして、
Invoke("inkReturn", 5f);
Invokeは指定した秒数後に、指定したメソッドを呼び出すものです。
今回は、5秒後にinkReturnメソッドを呼び出しています。
なぜ5秒後なのかは、私が線を5秒後に消えるように設定しているからです。
5秒後に呼び出すことによって、線が消えたタイミングでinkReturnを呼び出しています。
では、inkReturnを見てみましょう。
void inkReturn(){
ink += 0.013f;
slider.value = ink;
}
これですね。
呼び出されると、
ink+=0.013f;
これでスライダーのゲージを増やします。
slider.value = ink;
先ほども説明しましたが、これがないと反映されないので注意してください!
これで完成です!
左側にゲージがあります!
鉛筆のデザインは自作です!笑
できてますね!
書くごとにゲージが減っています。
また、線が消えた後もスライダーのゲージは戻っていました。
やっぱりプログラミングは一つ一つの作業が楽しいですね...
では、今回はここまで!
ありがとうございました!