인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이호진님의 프로필 이미지
이호진

작성한 질문수

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

Camera #2

구독에관해 질문있습니다.

해결된 질문

작성

·

308

1

Managers.Input.MouseAction -=OnMouseClicked
Managers.Input.MouseAction +=OnMouseClicked
가 PlayerController안에 있는데 PlayerController가 여러게임 오브젝트에 붙어있을경우 -=OnMouseClicked로 먼저 제거한후 +=OnMouseCliked로 구독하니까 여러 오브젝트중 하나만 움직여야 한다고 생각했는데 그렇지 않아서 질문합니다.

MouseAction에는 같은 이름의 OnMouseClicked를 추가하더라도 각 오브젝트마다 각각 다른 OnMouseClicked로 관리되나요?

답변 1

1

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

좀 어려운 내용입니다.
+= OnMouseClicked에서 OnMouseClicked가 static이 아닌 일반 멤버 함수인데요.
멤버 함수란 결국 특정 객체에 종속적인 것이라,
함수 뿐 아니라 객체의 주소가 같이 캡쳐되는 상황이라고 보시면 됩니다.
따라서 현재 객체가 다르기 때문에 각각 오브젝트마다 += 되는 것입니다.

이호진님의 프로필 이미지
이호진
질문자

답변감사합니다! :)

이호진님의 프로필 이미지
이호진

작성한 질문수

질문하기