반응형
- 코드 작성
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class HudDamageText : MonoBehaviour
{
public float moveSpeed = 1;
public float alphaSpeed = 5;
public float destroyTime = 2;
public TextMeshPro text;
Color alpha;
public string damage;
private void Start()
{
text = GetComponent<TextMeshPro>();
text.text = damage.ToString();
alpha = text.color;
Invoke("DestroyObject", destroyTime);
}
private void Update()
{
transform.Translate(new Vector3(0, moveSpeed * Time.deltaTime, 0));
alpha.a = Mathf.Lerp(alpha.a, 0, Time.deltaTime * alphaSpeed);
text.color = alpha;
}
private void DestroyObject()
{
Destroy(gameObject);
}
}
- 데미지를 입었을 때
public void TakeDamage(int damage, DamageType type)
{
GameObject hudText = Instantiate(hudDamageText);
hudText.GetComponent<HudDamageText>().damage = damage;
hudText.transform.position = new Vector3(transform.position.x, transform.position.y + 0.5f, -0.5f);
switch (type) //데미지 타입에 따라 글자 색깔을 변경하고 싶을때
{
case DamageType.One:
hudText.GetComponent<HudText>().damage = "<color=red>" + damage + "</color>";
break;
case DamageType.Two:
hudText.GetComponent<HudText>().damage = "<color=green>" + damage + "</color>";
break;
case DamageType.Three:
hudText.GetComponent<HudText>().damage = "<color=blue>" + damage + "</color>";
break;
}
}
반응형
'개발 > C#' 카테고리의 다른 글
유니티 C# 파일 저장 불러오기 간단 구현 File Save Load (0) | 2023.06.07 |
---|---|
유니티 C# 블록 퍼즐 게임 간단 구현 Block Breaker (0) | 2023.06.07 |
유니티 C# 랭킹 시스템 간단 구현 Unity Rankings (0) | 2023.06.07 |
유니티 C# 스태미너 효과 간단 구현 Stamina (0) | 2023.05.18 |
유니티 MVVM 패턴 간단 구현 (0) | 2023.04.23 |
유니티 C# 랜덤 지형 생성하기 간단 구현 Perlin noise (0) | 2023.04.23 |
유니티 C# 안드로이드 빌드 후 리소스 텍스트 파일 접근 방법 (0) | 2023.04.23 |
유니티 C# 3D 캐릭터 이동, 점프 간단 구현 (0) | 2023.04.03 |
댓글