Quick-cocos2d-x的MVC架构之Views研究

这里的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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值