7.事件监听篇 EventBus

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27032631/article/details/87967141

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

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;

游戏二维码

微信平台

在这里插入图片描述

4399平台

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

猜你喜欢

转载自blog.csdn.net/qq_27032631/article/details/87967141