一个简单的技能冷却按钮的实现
var CoolButton = cc.Node.extend({ // 需要做成Node 否则会无法addchild
callback : null, // 点击后的回调
coolInterval : null, // 动画时间
progressCooling : null, // 进度条
sprNormal : null,
sprStencil : null,
menuBtn : null,
ctor : function(resNormal, resPressed, resStencil, coolInterval, callback) {
this._super();
this.callback = callback;
this.coolInterval = coolInterval;
// menu item
var btnItem = new cc.MenuItemImage(
resNormal,
resPressed,
this.onBtnClick,
this);
// menu 默认在画面中间
this.menuBtn = new cc.Menu(btnItem);
this.menuBtn.attr({
x : 0,
y : 0
});
this.addChild(this.menuBtn, 0);
// 图片覆盖在按钮上 造成无法点击的假象
this.sprNormal = new cc.Sprite(resNormal);
this.sprNormal.attr({
x : 0,
y : 0
});
this.addChild(this.sprNormal, 1);
this.sprStencil = new cc.Sprite(resStencil);
this.sprStencil.attr({
x : 0,
y : 0
});
this.addChild(this