Add update callback

This commit is contained in:
houfio 2020-07-24 23:41:59 +02:00
parent c13803082c
commit cb61da5bef
2 changed files with 26 additions and 0 deletions

View File

@ -38,6 +38,7 @@ class TweenEngine {
onPause: Function;
onReset: Function;
onFinish: Function;
onUpdate: Function;
constructor(prop, propFunc, func, begin, finish, duration, yoyo) {
this.prop = prop;
@ -129,6 +130,7 @@ class TweenEngine {
}
update() {
this.setPosition(this.getPosition(this._time));
this.fire('onUpdate');
}
onEnterFrame() {
var t = this.getTimer() - this._startTime;
@ -179,6 +181,7 @@ export class Tween {
_id: number;
onFinish: Function;
onReset: Function;
onUpdate: Function;
constructor(config) {
var that = this,
@ -249,6 +252,7 @@ export class Tween {
// callbacks
this.onFinish = config.onFinish;
this.onReset = config.onReset;
this.onUpdate = config.onUpdate;
}
_addAttr(key, end) {
var node = this.node,
@ -437,6 +441,11 @@ export class Tween {
this.onReset();
}
};
this.tween.onUpdate = () => {
if (this.onUpdate) {
this.onUpdate.call(this);
}
}
}
/**
* play

View File

@ -252,6 +252,23 @@ suite('Tween', function () {
}, 50);
});
test('tween to call update callback', function (done) {
var stage = addStage();
var updateCount = 0;
stage.to({
x: 10,
duration: 0.01,
onUpdate: function () {
updateCount++;
},
onFinish: function () {
assert(updateCount === 3, 'updateCount should equal 3');
done();
},
});
});
suite('tween array with different length', function () {
test('prepare array closed', function () {
var start = [0, 0, 10, 0, 10, 10];