기존 타입이 안맞는다고 나오는 현상, Hierarchy에서 프리팹으로 위치정보 안넣어지는 문제 해결완료.
WayPointManager
public static WaypointManager instance;
public Transform[] waypoints; // 씬에 있는 모든 웨이포인트를 등록
void Awake()
{
// 싱글톤 패턴을 사용해 다른 오브젝트들이 이 매니저에 접근할 수 있도록 설정
if (instance == null)
{
instance = this;
}
else
{
Destroy(gameObject);
}
}
MonsterMovement2D
public class MonsterMovement2D : MonoBehaviour
{
public float speed = 2f;
private Transform[] waypoints;
private int currentWaypointIndex = 0;
void Start()
{
// WaypointManager에서 웨이포인트 배열을 가져옴
waypoints = WaypointManager.instance.waypoints;
}
문제해결>
두 오브젝트 충돌 시 체력 감소 기능 구현 중 한 번 닿았는데 한 번에 체력이 다 떨어지는 오류상황
문제의 코드
int healthRatio = currentHealth / maxHealth;
front.transform.localScale = new Vector2(healthRatio, 1);
해결코드
정수를 나누었을 때 소숫값이 나오게 되어 반올림 처리등으로 체력이 확 줄어든 것. 이 때 아에 자료형을 바꾸진 않고 이 코드에서만 (float)으로 처리.
// 체력비율을 float로 계산해서 체력바 조정 float healthRatio = (float)currentHealth / maxHealth; front.transform.localScale = new Vector2(healthRatio, 1);