Cocos2d-js中的简易MVC框架(五)MVC框架的使用
来源:互联网 发布:棋盘算法 编辑:程序博客网 时间:2024/05/11 16:55
首先定义第一个场景:
<code lang="javascript">
login.LoginScene = game.IScene.extend({
ctor:function (){
this._super();
}
});
</code>
以及该场景的中介者:
<code lang="javascript">
login.LoginSceneMediator = game.SceneMediator.extend({
ctor:function (view) {
this._super(view);
}
});
</code>
然后创建Layer层来显示UI:
<code lang="javascript">
login.LoginLayer = game.IView.extend({
ctor:function () {
//TODO实现显示内容。。。
return true;
}
});
</code>
然后创建对应的Mediator:
<code lang="javascript">
login.LoginLayerMediator = game.LayerMediator.extend({
ctor:function (view) {
this._super(view);
},
init:function () {
//注册消息监听
this.subscrib(common.NotifyType.LOGIN_EVENT, this.btnTouchCallBack, this);
},
show:function (parent) {
//添加UI到场景上
var self = this;
self._super(parent);
parent.addChild(this.currView);
},
freshen:function (obj){
//上层UI关闭时调用
},
destroy:function () {
//删除注册的监听
this.unsubscrib(common.NotifyType.LOGIN_EVENT, this.btnTouchCallBack);
//其他销毁都可以放在这里
}
});
</code>
然后在游戏的最开始调用:
<code lang="javascript">
var loginSceneMediator = new login.LoginSceneMediator(new login.LoginScene());
loginSceneMediator.rootLayer(new login.LoginLayerMediator(new login.LoginLayer()));
game.Frameworks.init({width:1136, height:640}, "DEBUG", loginSceneMediator);
</code>
创建刚刚实现的场景及Layer,然后传入框架的初始化方法里。
game.Frameworks.init的三个参数分别为:游戏的默认宽高、Log模式、第一个场景。
然后再创建其他场景时就继承IScene来实现就可以了,如果不需要多个场景就继承IView来实现,调用Mediator中的showLayer或者pushLayer来显示就可以了。在这套MVC框架中,Mediator可以注册监听,而View和Model都可以发送send消息来触发Mediator中的注册监听。文章后面附有源码,源码里有小的工程demo。
源码地址:https://github.com/yue19870813/cocos2d-js-mvc.git/
- Cocos2d-js中的简易MVC框架(五)MVC框架的使用
- Cocos2d-js中的简易MVC框架(一)框架简介
- Cocos2d-js中的简易MVC框架(二)数据模型Model
- Cocos2d-js中的简易MVC框架(三)中介者Mediator
- Cocos2d-js中的简易MVC框架(四)显示层View
- Cocos2d-JS中的简易MVC框架指南(一)
- 简单的mvc 框架(五)
- MVC框架设计(五)
- Java简易MVC框架 etmvc
- mystruts简易MVC框架实现
- spring mvc 框架简易示例
- JS MVC 框架(BackBone)
- JS mvc 框架比较
- C#MVC框架一些简单JS的使用
- 框架模式 MVC 在Android中的使用
- 框架模式 MVC 在Android中的使用
- 框架模式 MVC 在Android中的使用
- 框架模式 MVC 在Android中的使用
- java连接数据库及对数据库的基本操作
- iOS 硬件授权检测:定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等
- 安卓判断特定的服务是否正在运行
- SSH 如何更新Maven工程
- 微信小程序例子——如何使用view组件显示文字
- Cocos2d-js中的简易MVC框架(五)MVC框架的使用
- SPP pooling layer
- struts2日期类型转换
- 面试题整理(2)
- 运算符与表达式实例
- 【编程素质】OO原则
- 配置NDK环境变量遇到ndk path cannot contain any spaces错误的解决办法
- 《初入linux》--第八部分-linux下基本网络配置
- android系统学习:第一讲:开发环境搭建及第一个android应用程序