cc.ShakeAction = cc.ActionInterval.extend({ // ctor:function (duration, strength ) { // // cc.ActionInterval.prototype.ctor.call(this); // this.initWithDuration(duration, strength ); // }, initWithDuration:function (duration, strengthx, strengthy) { //function overload here if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) { this._strengthx = strengthx ; this._strengthy = strengthy ; return true; } return false; }, clone:function () { var action = new cc.ShakeAction(); this._cloneDecoration(action); action.initWithDuration(this._duration, this._strength); return action; }, startWithTarget:function (target) { cc.ActionInterval.prototype.startWithTarget.call(this, target); this.oldPos = this.target.position; }, fgRangeRand(min,max){ var rnd = Math.random(); return rnd*(max-min)+min; }, stop(){ if(this.target&&this.oldPos){ this.target.position = this.oldPos; } this.target = null; this.oldPos = null; }, update:function (dt) { //dt = this._computeEaseTime(dt); var randx = this.fgRangeRand( -this._strengthx, this._strengthx )*dt; var randy = this.fgRangeRand( -this._strengthy, this._strengthy )*dt; if (this.target) { var pos = this.target.position; pos.x = pos.x+randx; pos.y = pos.y+randy; this.target.position = pos; } } }); cc.ProgressTo = cc.ActionInterval.extend({ // ctor:function (duration, start, end) { // cc.ActionInterval.prototype.ctor.call(this); // this.initWithDuration(duration, start, end); // }, initWithDuration:function (duration, start, end) { //function overload here if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) { this._start = start; this._end = end; return true; } return false; }, clone:function () { var action = new cc.ProgressTo(); this._cloneDecoration(action); action.initWithDuration(this._duration, this._start, this._end); return action; }, startWithTarget:function (target) { cc.ActionInterval.prototype.startWithTarget.call(this, target); this.progress = this.target.getComponent('cc.ProgressBar'); this.progress.progress = this._start; this._delta = this._end - this._start; }, update:function (dt) { dt = this._computeEaseTime(dt); if (this.target) { this.progress.progress = this._start + this._delta * dt; } } }); cc.VauleTo = cc.ActionInterval.extend({ // ctor:function (duration, start, end,callback) { // // cc.ActionInterval.prototype.ctor.call(this); // this.initWithDuration(duration, start, end ,callback); // }, initWithDuration:function (duration, start, end,callback) { //function overload here if (cc.ActionInterval.prototype.initWithDuration.call(this, duration)) { this._start = start; this._end = end; this._callback = callback; return true; } return false; }, clone:function () { var action = new cc.VauleTo(); this._cloneDecoration(action); action.initWithDuration(this._duration, this._start, this._end,this._callback); return action; }, startWithTarget:function (target) { cc.ActionInterval.prototype.startWithTarget.call(this, target);; this._delta = this._end - this._start; }, update:function (dt) { dt = this._computeEaseTime(dt); if (this.target&&this._callback) { this._callback(this._start+this._delta * dt); } } });