내가 작성했던 코드
void Start()
{
animator = GetComponent<Animator>();
Curtime = Time.time;
}
안 될리가 없는데.... 이러면서 애니메이터 설정이 잘못됐는지를 한참 봤는데....
curTime이 아예 시간 측정이 되고 있지 않았다....
Start에선 Time.time을 쓰고, Update에선 Time.deltaTime을 쓴 나는 멍청이....
다음엔 타이머 기능 사용할 때 시간 종류가 같은지도 확인해주기 !
void Update()
{
if (GameManager.instance.isPlay)
{
animator.SetBool("attack", false); // 공격 x
}
else
{
// 0.5초가 지났는지 확인 (0.5초마다 공격 시도)
// if (Curtime + 0.5f < Time.deltaTime) // 마지막 공격 이후 0.5초가 지났는지 확인
if (Curtime + 0.5f < Time.time)
{
Curtime = Time.time; // 현재 시간 갱신
Debug.Log("attack o");
animator.SetBool("attack", true);
Mon.GetComponent<Monster>().Damage(att); // 플레이어 공격력만큼 데미지
}
}
}
* Time.time : 게임이 시작된 이후 경과한 시간
* Time.deltaTime : 이전 프레임이 완료되는 데 걸린 시간 (프레임 간 시간 간격!)
'공부 > Unity' 카테고리의 다른 글
NGUI 기본 사용법 (0) | 2024.09.23 |
---|---|
[unity/NGUI]2.7.0 Tutorial 영상 정리 (0) | 2024.08.22 |
[unity/iOS]앱을 확인할 수 없음 / Could not launch "~Project name~": Security (0) | 2024.07.11 |
[unity]wakaTime 유니티에 적용해봤던 후기 (0) | 2024.07.11 |
[unity]내 컴퓨터에서 가능한 모바일 빌드 환경 (0) | 2024.07.02 |