window.onfire = require("onfire"); cc.Class({ extends: cc.Component, properties: { bgSprite: { default: null, type: cc.Sprite }, titleSprite: { default: null, type: cc.Sprite }, btn_idx: 0, selected: false }, // LIFE-CYCLE CALLBACKS: onLoad () { let self = this; let titleUrl = `textures/top_menu/menu_${self.btn_idx}`; if (self.selected) { titleUrl = `textures/top_menu/menu_${self.btn_idx}_s`; } else { self.bgSprite.node.active = false; } cc.loader.loadRes(titleUrl, cc.SpriteFrame, function (err, spriteFrame) { self.titleSprite.spriteFrame = spriteFrame; }); this.node.on('click', function() { onfire.fire("topMenuClick", self.btn_idx); }); }, start () { }, // update (dt) {}, updateStatus() { let self = this; let titleUrl = `textures/top_menu/menu_${this.btn_idx}`; if (self.selected) { titleUrl = `textures/top_menu/menu_${this.btn_idx}_s`; this.bgSprite.node.active = true; } else { this.bgSprite.node.active = false; } cc.loader.loadRes(titleUrl, cc.SpriteFrame, function (err, spriteFrame) { self.titleSprite.spriteFrame = spriteFrame; }); } });