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;