강의

멘토링

로드맵

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

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

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

Camera #2

이해가 안 되는 부분이 있어요.

해결된 질문

작성

·

253

2

public class InputManager

{

    public Action<Define.MouseEvent> MouseAction = null;

   

    public void OnUpdate()

    {

        if(MouseAction != null)

        {

            if (Input.GetMouseButton(0))

            {

                MouseAction.Invoke(Define.MouseEvent.Press);

                _pressed = true;

            }

            else

            {

                if (_pressed)

                {

                    MouseAction.Invoke(Define.MouseEvent.Click);

                    _pressed = false;

                }

            }

        }

    }

}

위 코드에서  if(MouseAction != null) 이 잘 이해되지 않습니다.  제일 위에서   public Action<Define.MouseEvent> MouseAction = null;로 MouseAction을 null로 초기화 했으니  if(MouseAction != null) 는 작동하지 않아야 하는 거 아닌가요..?

퀴즈

65%나 틀려요. 한번 도전해보세요!

카메라 컨트롤러를 Update 메서드가 아닌 Late Update 메서드에서 실행하는 주된 이유는 무엇일까요?

카메라를 먼저 업데이트하여 캐릭터 움직임을 예측하기 위함

캐릭터 업데이트가 완료된 후 카메라 위치를 확정하기 위함

카메라 업데이트는 프레임당 한 번만 필요하기 때문

물리 연산 충돌 문제를 피하기 위함

답변 1

2

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

윗 코드만 보면 그런데,
실제로 밖에서 MouseAction에 += 로 접근해서
추가를 해주는 부분이 있습니다.
필요한 애가 콜백 함수를 등록하는 것이지요.

Managers.Input.MouseAction += OnMouseClicked;

말씀이시군요. 감사합니다!

강아지호빵찐빵님의 프로필 이미지
강아지호빵찐빵

작성한 질문수

질문하기