スライダーを用いたバーの作成(2/2)_ループ版

投稿日:2018/09/15 投稿者:sai

Read in 1 minutes

累積型のバーをアニメーションにする

経験値など値が累積していくけれども表示は一定の値でループするバーを作ります。 スライダーを用いたバーの作成(12)の続き

もうちょっと詳しい内容

  1. 実際の値は0から累積していく(0 <= value)
  2. バーの値が0~99まで変動(0 <= display_value_range <= 99)
  3. ただし値としては引き継いでいる(max_value = 99 * (loop + 1))
  4. 次の周回では100~199の値をとる(display_value = value - 100 * loop) というバーを作りました。

こんな感じ

実装

問題点

累積型には以下の難しい点がありました。

  • バーの最大値と表示するものの最大値が一致しない
  • 一定の値でループするため一度の上昇値がループの上限を超えた場合値がオーバーフローして挙動がおかしくなる

コード

ということで以上の問題を解決したコードが以下です。

妥協した点

HPバーと同じく連打されたときに最終値は正しいが端まで行くことなく戻ろうとしてしまう点

この関数自体をキュー管理するなど改善方法の案はあるけれども,例のごとく見た目に凝る段階ではないためやめた


category: unity



カテゴリ

タグ

スライダーを用いたバーの作成(2/2)_ループ版 | Homepage