• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

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

23.08.11 02:33 작성 조회수 206

0

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

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

답변 1

답변을 작성해보세요.

1

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

이호진님의 프로필

이호진

질문자

2023.08.11

답변감사합니다! :)