Cocos2d-js中的简易MVC框架(五)MVC框架的使用

Cocos2d-js中的简易MVC框架(五)MVC框架的使用,第1张

概述首先定义第一个场景: <code lang="javascript"> login.LoginScene = game.IScene.extend({     ctor:function (){         this._super();     } }); </code> 以及该场景的中介者: <code lang="javascript"> login.LoginSceneMediator

首先定义第一个场景:

<code lang="JavaScript">

login.LoginScene = game.IScene.extend({

ctor:function (){

this._super();

}

});

</code>

以及该场景的中介者:

login.LoginSceneMediator = game.SceneMediator.extend({

ctor:function (vIEw) {

this._super(vIEw);

然后创建Layer层来显示UI

login.LoginLayer = game.IVIEw.extend({

ctor:function () {

//Todo 实现显示内容。。。

return true;

然后创建对应的Mediator

login.LoginLayerMediator = game.LayerMediator.extend({

},

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);

//其他销毁都可以放在这里

然后在游戏的最开始调用:

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);

创建刚刚实现的场景及Layer,然后传入框架的初始化方法里。

game.Frameworks.init的三个参数分别为:游戏的默认宽高、Log模式、第一个场景。

然后再创建其他场景时就继承IScene来实现就可以了,如果不需要多个场景就继承IVIEw来实现,调用Mediator中的showLayer或者pushLayer来显示就可以了。在这套MVC框架中,Mediator可以注册监听,而VIEwModel都可以发送send消息来触发Mediator中的注册监听。文章后面附有源码,源码里有小的工程demo

源码地址:https://github.com/yue19870813/cocos2d-Js-mvc.git/

总结

以上是内存溢出为你收集整理的Cocos2d-js中的简易MVC框架(五)MVC框架的使用全部内容,希望文章能够帮你解决Cocos2d-js中的简易MVC框架(五)MVC框架的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1082102.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存