93 lines
3.9 KiB
JavaScript
93 lines
3.9 KiB
JavaScript
var GameConfig = require("GameConfig");
|
|
var GameTools = require("GameTools");
|
|
var GameUiTools = {
|
|
getSpriteFrame: function (spriteName, curSp) {
|
|
// return new cc.SpriteFrame(cc.url.raw(spriteName));
|
|
cc.loader.loadRes(spriteName, cc.SpriteFrame, function (err, spriteFrame) {
|
|
if (err) {
|
|
cc.error(err.message || err);
|
|
console.log("DEBUG: err"+err);
|
|
return;
|
|
}
|
|
if(curSp){
|
|
curSp.spriteFrame = spriteFrame;
|
|
}
|
|
});
|
|
},
|
|
newSprite: function (spriteName, isCache) {
|
|
let sprite = new cc.Node();
|
|
if (isCache) {
|
|
spriteName = spriteName.split('.')[0];
|
|
sprite.addComponent(cc.Sprite).spriteFrame = GameTools.love2048FrameCache.getSpriteFrame(spriteName);
|
|
} else {
|
|
sprite.addComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame("res/raw-assets/" + spriteName);
|
|
}
|
|
return sprite;
|
|
},
|
|
setNodeSpriteFrame: function (node, spriteName) {
|
|
node.getComponent(cc.Sprite).spriteFrame = GameTools.love2048FrameCache.getSpriteFrame(spriteName);
|
|
},
|
|
setButtonClickEvents: function (component, menu, handler, customEventData, isScale) {
|
|
let arrayMenu = new Array();
|
|
if (menu.length == undefined) {
|
|
arrayMenu[0] = menu;
|
|
|
|
} else {
|
|
arrayMenu = menu;
|
|
}
|
|
for (let i = 0; i < arrayMenu.length; i++) {
|
|
let clickEventHandler = new cc.Component.EventHandler();
|
|
clickEventHandler.target = component.node; //这个 node 节点是你的事件处理代码组件所属的节点
|
|
clickEventHandler.component = component.node.name;//这个是代码文件名
|
|
clickEventHandler.handler = handler;
|
|
if (menu.length == undefined) {
|
|
clickEventHandler.customEventData = customEventData;
|
|
} else {
|
|
clickEventHandler.customEventData = i;
|
|
}
|
|
let button = arrayMenu[i].addComponent(cc.Button);
|
|
button.clickEvents.push(clickEventHandler);
|
|
if (isScale == undefined || isScale) {
|
|
button.transition = cc.Button.Transition.SCALE;
|
|
button.duration = 0.1;
|
|
button.zoomScale = 1.2;
|
|
}
|
|
// this.secondSetMenu[i].on('click', this.setMenuTouchFunc, this);
|
|
}
|
|
},
|
|
setSecondSetMenuSpriteFram: function (secondSetMenu, isRight) {//设置是否勾选图片
|
|
secondSetMenu.getChildren()[0].getComponent(cc.Sprite).spriteFrame = GameTools.love2048FrameCache.getSpriteFrame(isRight ? "menuRight" : "menuClose");
|
|
},
|
|
addCloseSprite: function (node) {
|
|
let menuClose = new cc.Node();
|
|
menuClose.addComponent(cc.Sprite).spriteFrame = GameTools.love2048FrameCache.getSpriteFrame("menuClose");
|
|
node.addChild(menuClose);
|
|
},
|
|
scheduleOnce: function (node, callFunc, delay) {//事件调度
|
|
node.runAction(cc.sequence(cc.delayTime(delay), cc.callFunc(callFunc, node)));
|
|
},
|
|
loadingScene(sceneName, isShowLayer) {//加载场景
|
|
if (isShowLayer) {
|
|
cc.loader.loadRes("panel/LoadingLayer", (err, prefab) => {
|
|
var node = cc.instantiate(prefab);
|
|
cc.director.getScene().children[0].addChild(node);
|
|
cc.director.preloadScene(sceneName, () => {
|
|
cc.director.loadScene(sceneName);
|
|
});
|
|
});
|
|
} else {
|
|
cc.director.preloadScene(sceneName, () => {
|
|
cc.director.loadScene(sceneName);
|
|
});
|
|
}
|
|
},
|
|
loadingLayer(panelName) {//加载图层
|
|
cc.loader.loadRes(panelName, (err, prefab) => {
|
|
if (!err) {
|
|
let node = cc.instantiate(prefab);
|
|
cc.director.getScene().children[0].addChild(node);
|
|
}
|
|
});
|
|
},
|
|
};
|
|
module.exports = GameUiTools; |