Client 부분.

------ protocol -----
Evt_Move = Event(2)
Evt_Move.key = {
 id = 1,
 x = 2,
 y = 3,
}

------ client -----
class 'testaClientApp' (ClientApp)

function testaClientApp:__init() super()
 ..생략
 self:InitHandler()
end

function testaClientApp:OnMove(server, msg)
 local id = msg:GetValue(Evt_Move.key.id)
 local x = msg:GetValue(Evt_Move.key.x)
 local y = msg:GetValue(Evt_Move.key.y)
 if id == 1 then
  self.scene.mal1:SetXPos(self.scene.mal1:GetXPos() + x)
  self.scene.mal1:SetYPos(self.scene.mal1:GetYPos() + y)
 elseif id == 2 then
  self.scene.mal2:SetXPos(self.scene.mal2:GetXPos() + x)
  self.scene.mal2:SetYPos(self.scene.mal2:GetYPos() + y)
 end
end

function testaClientApp:InitHandler()
 self:SetMsgHandler(Evt_Chat, self.OnChat)
 self:SetMsgHandler(Evt_Move, self.OnMove)
end

function testaClientApp:InitHandler() 에서 프로토콜과 함수를 매치시키고,
function testaClientApp:__init() super() 에서 호출한다.

프로토콜 아래의 key값들은 데이터를 실어서 보낼 변수들이다.
Evt_Move = Event(2)
Evt_Move.key = {
 id = 1,
 x = 2,
 y = 3,
}

그 변수들에서 값을 가져오는 함수는
msg:GetValue(Evt_Move.key.id)
이다.

'Develop' 카테고리의 다른 글

VI사용법 [펌]  (0) 2009.10.24
네트워크 통신 (Server)  (0) 2009.10.23
키보드 이벤트  (0) 2009.10.23
GDI 객체  (0) 2009.10.21
그리기, 쓰기 등등 함수  (0) 2009.10.21

+ Recent posts