「Unity/UISlider」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==Slider作成方法== #UI/Sliderで作成 ==Sliderの色を変更== #Slider/Fill Area/FillのImageのColorの色を変更」) |
(→HPのダメージゲージをアニメーションで表示する) |
||
(同じ利用者による、間の5版が非表示) | |||
行3: | 行3: | ||
==Sliderの色を変更== | ==Sliderの色を変更== | ||
− | #Slider/Fill Area/ | + | #Slider/Fill Area/FillのInspectorのImageのColorの色を変更 |
+ | |||
+ | ==画面上で値の操作できないように== | ||
+ | #SliderのInspectorのInteractableのチェックをoffに | ||
+ | #"Handle Slide Area"のHandleを非アクティブへ | ||
+ | |||
+ | ==HPのように使う== | ||
+ | #Slider/"Handle Slide Area"は削除 | ||
+ | #Slider/FillAreaのLeftを、5から0に | ||
+ | #Slider/FillAreaのRightを、15から0に | ||
+ | #Slider/FillArea/FillのWidthを、10から0に | ||
+ | |||
+ | ===HPのダメージゲージをアニメーションで表示する=== | ||
+ | Dotweenを使う場合で、Hp本体のSliderと差分用のSliderを用意する | ||
+ | <pre> | ||
+ | Slider enemyHpSlider; // 本体HP | ||
+ | Slider enemyDiffHpSlider; // 差分HP | ||
+ | // 敵のhpのゲージ設定 | ||
+ | public void EnemyHpSlider(float value) | ||
+ | { | ||
+ | // 差分 | ||
+ | float now = enemyHpSlider.value; | ||
+ | float end = value; | ||
+ | float sec = 0.5f; | ||
+ | DOTween.To(() => now, (n) => now = n, end, sec) | ||
+ | .SetEase(Ease.InQuad) | ||
+ | .OnUpdate(() => { | ||
+ | enemyDiffHpSlider.value = now; | ||
+ | }); | ||
+ | // 本体HP | ||
+ | enemyHpSlider.value = value; | ||
+ | } | ||
+ | </pre> |
2023年5月28日 (日) 08:20時点における最新版
Slider作成方法
- UI/Sliderで作成
Sliderの色を変更
- Slider/Fill Area/FillのInspectorのImageのColorの色を変更
画面上で値の操作できないように
- SliderのInspectorのInteractableのチェックをoffに
- "Handle Slide Area"のHandleを非アクティブへ
HPのように使う
- Slider/"Handle Slide Area"は削除
- Slider/FillAreaのLeftを、5から0に
- Slider/FillAreaのRightを、15から0に
- Slider/FillArea/FillのWidthを、10から0に
HPのダメージゲージをアニメーションで表示する
Dotweenを使う場合で、Hp本体のSliderと差分用のSliderを用意する
Slider enemyHpSlider; // 本体HP Slider enemyDiffHpSlider; // 差分HP // 敵のhpのゲージ設定 public void EnemyHpSlider(float value) { // 差分 float now = enemyHpSlider.value; float end = value; float sec = 0.5f; DOTween.To(() => now, (n) => now = n, end, sec) .SetEase(Ease.InQuad) .OnUpdate(() => { enemyDiffHpSlider.value = now; }); // 本体HP enemyHpSlider.value = value; }