강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

송유승님의 프로필 이미지
송유승

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

공격 #2

OnHitEvent

작성

·

276

0

여러가지 실험을 하다가

OnHitEvent() 함수 안에다 제가 분기문을 모두 주석처리 후

State = PlayerState.Moving 으로 한 뒤 플레이를 해봤습니다. 

OnHitEvent()

{

    State = PlayerState.Moving

}

그런데 이렇게 하면 캐릭터를 한번 공격한 후 유니티짱을 다른 곳을 클릭해서 움직이려 할 때 먹통이 되어 안움직이게 됩니다.

제가 생각하기로는 OnMouseEvent로 계속해서 이벤트를  듣고 그에따른 로직을 수행해야 할 것으로 생각이 되는데 
OnMouseEvent_IdleRun 내부 최상단에 debug.log를 찍어보니 해당 함수가 호출도 않되더군요

영상대로 OnHitEvent에 State = PlayerState.Idle 이면 정상적으로 수행이 됩니다만
위의 사항이 아무리 고민해도 왜 그런지 모르겠어서 질문드립니다.

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

안녕하세요,
문제가 일어나면 눈으로 찾지 마시고 디버깅으로 찾으려 하면 더 수월합니다.

State = PlayerState.Moving으로 설정했다면,
UpdateMoving으로 코드가 항상 들어가면서
무한으로 스킬을 사용하게 됩니다.

송유승님의 프로필 이미지
송유승

작성한 질문수

질문하기