quick-cocos2d-x 学习系列之十一mvc例子
quick-cocos2d-x 学习系列之十一mvc例子 mvc是一种设计模式,全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 1.代码组织结构主要三个文件夹,models,views,controllers分别对应模型,视图,控制器(MVC)。 1.1Models主要文件夹Actor.lua,Hero.lua Hero.lua继承于Actor类。 Actor类实现了较色的攻击力、防御力、初始HP等。 还包括实现的状态机。 1.2Views主要文件夹HeroView.lua 主要实现精灵状态变化后的HP变化,等级变化等视图。 通过视图注册模型事件,从而在模型发生变化时自动动态的更新视图。 1.3Controllers主要文件PlayDuelController.lua 构造函数负责创建判断对象player是否存在,如果不存在则创建之。 再创建一个敌人。 设置变量 self.views_ = {} self.bullets_ = {} 通过createView函数设置self.views_变量。 创建两个按钮一个是左边精灵开枪,一个是右边精灵开枪。 增加帧事件(每帧调用),函数tick. 最后增加NODE_EVENT事件,用于在退出的时候调用。 函数tick负责处理所有子弹位置,如果超出屏幕则处理掉。此外需要处理是否击中,如果击中也需要处理。 2.代码执行流程MainScene场景中开始,该场景创建了一个新层,创建了一个PlayDuelController对象。 创建一个REFRESH按钮。按下后重新进入MainScene场景起到初始化作用,过渡场景的特效是flipy。 PlayDuelController对象是在Controllers文件夹中的,就可以理解是整个控制过程,具体见上节描述。 具体详细细节带后续增加。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |