這裡的view主要是model的界面實作
1.基本類定義
--實際是一個節點,為了能夠add到界面中
local PeopleView = class("PeopleView", function()
return display.newNode()
end)
--構造函數傳入對應的model類
function PeopleView:ctor(People)
--儲存對應的model類
self.people_ = People
--建立sprite
self.sprite_ = display.newSprite():addTo(self)
--根據model的state更新圖檔
self:updateSprite_(self.people_:getState())
end
--根據model的state更新圖檔,根據需求也可以改成按照等級改變
function PeopleView:updateSprite_(state)
local frameName
if state == "idle" then
frameName = "HeroIdle.png"
end
if not frameName then
return
end
--圖檔事前通過display.addSpriteFrames函數讀入
self.sprite_:setSpriteFrame(display.newSpriteFrame(frameName))
end
return PeopleView
2.建立對象
如果model并不顯示,就不用建立對應的view類
--先建立model對象
people = import("app.models.People").new({name="tom"})
--建立對應的view對象,要add到界面中
app:createView("PeopleView", people):addTo(self):pos(500, 500)