目录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 代码这里不再贴出,有兴趣的可以自己去看。基本逻辑如下