版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27032631/article/details/87967061
游戏的主界面 会在Cocos的编辑界面先制作出来,然后设置成预制体。
通过这个脚本就是管理各个界面的加载显示和隐藏销毁功能
var dictionary = require("dictionary");
var ResourceManager = require("ResourceManager");
var UIManager = function()
{
};
UIManager.m_windDic = new dictionary();
//从资源中加载界面
UIManager.createWindow = function(layer,mName)
{
ResourceManager.LoadWindow(mName,function(err, prefab){
if(null == prefab)
{
console.log("null == prefab !!!");
console.log(err);
return;
}
var view = window.cc.instantiate(prefab);
UIManager.m_windDic.add(mName,view);
var layerObj = window.LayerManager.getLayer(layer);
if(null == layerObj)
{
console.log("layerObj is null");
return;
}
layerObj.addChild(view);
console.log(view);
view.addComponent(mName);
UIManager.showWindow(layer,mName);
});
}
//调用显示界面 如果画面中还未加载 则加载
UIManager.showWindow = function(layer,mName)
{
if(!UIManager.m_windDic.containKey(mName))
{
UIManager.createWindow(layer,mName);
return;
}
UIManager.m_windDic.get(mName).active = true;
}
//隐藏界面
UIManager.hideWindow = function(mName)
{
UIManager.m_windDic.get(mName).active = false;
}
//销毁界面
UIManager.destoryWindow = function(mName)
{
UIManager.m_windDic.get(mName).destroy();
UIManager.m_windDic.remove(mName);
}
//检查界面是否存在
UIManager.checkWindow = function(mName)
{
if(UIManager.m_windDic.containKey(mName))
{
return true;
}
return false;
},
//销毁保存在容器中的界面
UIManager.clear = function()
{
var count = this.m_windDic.count;
for(var i = count-1; i >= 0;i--)
{
var name = this.m_windDic.getNameByIndex(i);
this.destoryWindow(name);
}
},
module.exports = UIManager;
游戏二维码
4399游戏链接:http://www.4399.com/flash/203652.htm