7.Cocos跑酷游戏——事件监听篇 EventBus

1.List工具篇
2.工具篇 Dictionary
3.工具篇 读取Json文件保存数据
4.资源管理ResourceManager
5.界面层级管理 LayerManager
6.界面管理 UIManager
7.事件监听篇 EventBus
8.枚举篇 枚举管理
9.游戏总管 Mir
10游戏入口 Main
11.声音管理器
12首页界面
13.游戏界面
14.01 背景
15.02主角(与游戏界面交互)
16.03添加怪物来袭
17.04添加障碍物
18.05 添加障碍物排列
19.06添加奖励物品
20.07奖励物质排列数据
21.从零开始-Cocos跑酷游戏——游戏结束界面
22.最后的补充

游戏中会有很多地方是使用 数据驱动界面的方式来 刷新界面的显示,例如 这个游戏中的分数更新 路程更新。这其中就免不了 有基础的监听脚本
简单的监听 分发 移除 功能

var dictionary = require("dictionary");

var EventBus = function(){

};

EventBus.m_eventDic = new dictionary();

//注册一个事件监听
EventBus.addListener = function(mkey,mListenerHandler){
    var mHandler = [];
    if(EventBus.m_eventDic.containKey(mkey))
    {
        mHandler = EventBus.m_eventDic.get(mkey);
        mHandler.push(mListenerHandler);
        return;
    }
    mHandler.push(mListenerHandler);
    EventBus.m_eventDic.add(mkey,mHandler);
},

//移除一个事件监听
EventBus.removeListener = function(mkey){

    EventBus.m_eventDic.remove(mkey);
},

//触发一个事件监听
EventBus.pos =function(mkey,value = null){
    if(!EventBus.m_eventDic.containKey(mkey))
    {
        console.log("EventBus---Key:" + mkey + " is not exist");
        return;
    }
    var mHandler = EventBus.m_eventDic.get(mkey);
    for(var i=0;i<mHandler.length;i++)
    {
        if(value == null)
            mHandler[i]();
        else
            mHandler[i](value);
    }
},

module.exports = EventBus;

游戏二维码

微信平台

7.Cocos跑酷游戏——事件监听篇 EventBus

4399平台

4399游戏链接:http://www.4399.com/flash/203652.htm