KBEngine Cocos2d JS 客户端启动过程

目录kbengine_cocos2d_js_demo/cocos2d-js-client 就是一个典型的 Cocos2d-JS 项目,项目结构可以看 Cocos 官方说明文档《Cocos2d-JS项目结构介绍,我们现在只需要知道以下事实即可。

  • 相关 js 文件通过 project.json 引入
  • main.js 是整个项目的逻辑入口

main.js

如上图,主要的逻辑有两块

  • 57~58行,即设置服务器的 ip、port
  • 67行,是 Cocos 的启动 Scene

project.json 里面可以看到,StartScene 所在的具体路径应该在src/cc_scripts/StartScene.js

StartScene.js

StartScene 的展现逻辑我们不去管,直接看「登录」按钮点击下去后的处理。


这里通过 fire 一个 「login」事件,把 username 和 password 发送到plugins/kbengine_js_plugins/kbengine.js 去处理。

kbengine.js

可以看到,2377 行注册了一个事件,即 kbengine.js 里的login 函数,会响应 「login」 事件。

小结

由上可知,客户端在启动的时候,除了界面展示,最重要的就是在 installEvents 函数里,通过 KBEngine.Event.register 注册各个事件响应函数,即 kbengine.js 这个插件与客户端逻辑代码的交互是通过事件来完成的。

具体的 register/fire 代码这里不再贴出,有兴趣的可以自己去看。基本逻辑如下

  • register 的时候,在一个 list 里存放 <事件名,回调函数>的键值对。
  • fire 的时候,遍历找到这个事件名对应的回调函数,填入参数来 apply 。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...