这里的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)
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)