튜토리얼 2-7A

기본 튜토리얼 2-7 예제는 네트워크 채팅을 설명하고 있습니다.

그런데 일반적인 채팅창을 구현할 때, 공통적인 인터페이스 요구사항이 있습니다.

게임을 하다가, 바로 ENTER 키를 입력하면 채팅창에서 입력할 수 있도록 하는 것입니다.

게임오븐에서도 이와 유사한 기능을 다음과 같이 구현할 수 있습니다.

function tutorial2_7ClientApp:OnUIMsg(main, msg)
 -- 키보드 엔터 누르면 이벤트로 알리기
 if msg.id == Evt_KeyboardDown.id then
  local v = msg:GetValue(Evt_KeyboardDown.key.Value)
  if v == UIConst.KeyEnter then
   local msg = Message(Evt_InputEnter)
   self:SendToScene(msg)
  end
 end
 ClientApp.OnUIMsg(self, main, msg)
end

OnUIMsg() 함수는 UI 메시지를 받았을 때 호출되는 함수로, 몇가지의 경우를 제외하고 대부분의 경우 호출됩니다.

특히 다른 Edit 에 활성화 되어 있는 경우에는 모든 키 입력을 그 Edit 에서 받아서 처리하기 때문에, OnUIMsg() 함수가 호출되지 않습니다.

그래도 대부분의 경우에는 위와 같은 구현으로, 원하는 기능이 충분히 구현될 것이라고 믿습니다.

이상입니다.


다른곳: http://cms.hangame.com/post2/812/2611858


저작자 표시
신고

티스토리 툴바