inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

공격 #2

OnMouseEVent질문

277

starkshn

작성한 질문수 134

0

현재 Update문안에서는 PlayerState의 경우만들 계속 받으면서 어떤 상태인지에 따라서

UpdateMoving이나 UpdateIdle와 같은 함수들을 호출을 하고있는데

 

게임실행시 클릭이 먼저 일어나야 OnMouseEvent같은 함수가 

실행이 되어서 해당 마우스 액션이 계속 누르는 상태인지 클릭인지 뭐 그런것을 구별하고 그이후 해당 상태의 함수가 호출되는 것 까지는 이해가 되었습니다.

 

그런데 OnMouseEvent와 같은 함수는 Update문같은데서 실시간으로 받지 않고있는데 

 

InputManager에서 MouseAction != null일때 

이런식으로 Invoke로 어떤 마우스 이벤트인지 알려주고있는데 

Invoke를 하게되면 다른 파일(PlayerController와 같은데서)에서 따로 호출을 하지 않아도 자동으로 호출이 되는 것인가요??

unity C#

답변 1

0

Rookiss

우선 너무 많은 사람들의 혼동을 야기해서
InputManager는 다음 강의에서 사라질 예정입니다.

저 부분이 이해가 안  가신다면
delegate 혹은 콜백 방식 문법을 복습해보시면 됩니다.
MouseAction에 원하는 콜백 함수를 매핑해주면
나중에 MouseAction.Invoke()가 호출될 때 해당 함수가 호출됩니다.

0

starkshn

지금 MouseAction에 콜백함수를 매핑을 해주었는데

이렇게

이렇게 if문으로 매핑을 해준것 까지는 이해가 갑니다.

if(!_presssed)

                {

                    MouseAction.Invoke(Define.MouseEvent.PointerDown);

                    _pressedTime = Time.time;

                }

 

1)이코드가 지금 _pressed가 true일때  Invoke함수로 Define.MouseEvent.PointerDown이것을 매핑을 한것이 맞나요?

 

2) 위와 같이 매핑을 하였을 경우 PlayerController안에 있는 함수들이 어떻게 

호출이 되는지를 모르겠습니다.

 

지금까지 이해한것은 콜백함수에 매핑을 해주면 해당(맞는 호출이)있을경우 매핑한 것을 넘겨주는 거까지는 이해했는데 공부하는 코드에서 PlayerController의 OnMouseEvent_IdleRun함수나 OnMouseEvent의 함수의 인자에 Define.MouseEvent evt이것이 왜 어떻게 들어가는지를 모르겠습니다

 

 

ResourceManager 클래스 관련 질문

1

28

2

몬스터 HP 게이지바 이동

0

21

1

매니저 관련 질문이 있습니다.

0

70

2

비쥬얼 스튜디오에서 unity연결이 없습니다.

0

76

2

UI 기능 관련 질문이 있습니다!

0

72

2

픽셀 좌표 스크린 좌표

0

51

0

전체적으로 코드 읽는게 굉장히 오래 걸리네요...

0

106

2

카메라 #2 수업 캐릭터 쓰러짐 해결

0

97

1

플레이어 움직임이 끝날때, 기울어짐 현상

0

101

1

Input 적용과 관련하여 질문 있습니다.

0

91

1

디버그 불가.. Unity에 연결 불가

0

98

1

달리기 애니메이션 에러

0

98

2

오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다

0

75

1

GetKey 오류

0

128

2

에셋을 어디에 올려두신지 알 수 있나요?

0

114

1

재귀호출? 오류나는데 왜 이래요 ?

0

179

6

Animation blending 파라미터 계산

0

75

1

newPos와 to지점이 겹쳐져야 하는거 아닌가요?

0

112

3

오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다

0

96

2

질문있습니다

0

156

2

아 이거 소스코드 같은거 없나요?

0

152

3

질문 드립니다. string.IsNullOrEmpty(name)

0

94

2

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

0

139

2

유니티6 NavMesh 안되는분들

1

193

1