「Unity/UISlider」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→HPのダメージゲージをアニメーションで表示する) |
|||
| (同じ利用者による、間の4版が非表示) | |||
| 行8: | 行8: | ||
#SliderのInspectorのInteractableのチェックをoffに | #SliderのInspectorのInteractableのチェックをoffに | ||
#"Handle Slide Area"のHandleを非アクティブへ | #"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;
}
