Merge pull request #61 from powerfear/master

make tweens chainable with .to
This commit is contained in:
Richard Davey
2013-09-22 14:13:30 -07:00
2 changed files with 83 additions and 8 deletions
+39 -8
View File
@@ -35,6 +35,7 @@ Phaser.Tween = function (object, game) {
this._onCompleteCallback = null;
this._pausedTime = 0;
this._parent = null;
this.pendingDelete = false;
@@ -71,26 +72,39 @@ Phaser.Tween.prototype = {
repeat = repeat || 0;
yoyo = yoyo || false;
this._repeat = repeat;
this._duration = duration;
this._valuesEnd = properties;
var self;
if (this._parent)
{
self = this._manager.create(this._object);
self._parent = this._parent;
this.chain(self);
}
else
{
self = this;
self._parent = self;
}
self._repeat = repeat;
self._duration = duration;
self._valuesEnd = properties;
if (ease !== null)
{
this._easingFunction = ease;
self._easingFunction = ease;
}
if (delay > 0)
{
this._delayTime = delay;
self._delayTime = delay;
}
this._yoyo = yoyo;
self._yoyo = yoyo;
if (autoStart) {
return this.start();
return self.start();
} else {
return this;
return self;
}
},
@@ -192,6 +206,23 @@ Phaser.Tween.prototype = {
},
/**
* Loop a chain of tweens
*
* Usage:
* game.add.tween(p).to({ x: 700 }, 1000, Phaser.Easing.Linear.None, true)
* .to({ y: 300 }, 1000, Phaser.Easing.Linear.None)
* .to({ x: 0 }, 1000, Phaser.Easing.Linear.None)
* .to({ y: 0 }, 1000, Phaser.Easing.Linear.None)
* .loop();
*
* @return {Tween} Itself.
*/
loop: function() {
if (this._parent) this.chain(this._parent);
return this;
},
onStartCallback: function ( callback ) {
this._onStartCallback = callback;