「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;
}
