Skip to content

Commit db0be54

Browse files
committed
Fixed breaking Tween loop change and implemented PathFollower startAt in a slightly different way
1 parent ab85d48 commit db0be54

3 files changed

Lines changed: 18 additions & 10 deletions

File tree

src/gameobjects/pathfollower/PathFollower.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,6 @@ var PathFollower = new Class({
246246
// Override in case they've been specified in the config
247247
config.from = 0;
248248
config.to = 1;
249-
config.startAt = startAt;
250249

251250
// Can also read extra values out of the config:
252251

@@ -255,6 +254,22 @@ var PathFollower = new Class({
255254
this.rotateToPath = GetBoolean(config, 'rotateToPath', false);
256255
this.pathRotationOffset = GetValue(config, 'rotationOffset', 0);
257256

257+
// This works, but it's not an ideal way of doing it as the follower jumps position
258+
var seek = GetValue(config, 'startAt', startAt);
259+
260+
if (seek)
261+
{
262+
config.onStart = function (tween)
263+
{
264+
var tweenData = tween.data[0];
265+
tweenData.progress = seek;
266+
tweenData.elapsed = tweenData.duration * seek;
267+
var v = tweenData.ease(tweenData.progress);
268+
tweenData.current = tweenData.start + ((tweenData.end - tweenData.start) * v);
269+
tweenData.target[tweenData.key] = tweenData.current;
270+
};
271+
}
272+
258273
this.pathTween = this.scene.sys.tweens.addCounter(config);
259274

260275
// The starting point of the path, relative to this follower

src/tweens/builders/NumberTweenBuilder.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ var NumberTweenBuilder = function (parent, config, defaults)
4545

4646
var from = GetValue(config, 'from', 0);
4747
var to = GetValue(config, 'to', 1);
48-
var current = GetValue(config, 'startAt', from);
4948

5049
var targets = [ { value: from } ];
5150

@@ -79,7 +78,7 @@ var NumberTweenBuilder = function (parent, config, defaults)
7978
);
8079

8180
tweenData.start = from;
82-
tweenData.current = current;
81+
tweenData.current = from;
8382
tweenData.to = to;
8483

8584
data.push(tweenData);

src/tweens/tween/Tween.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,7 +1183,6 @@ var Tween = new Class({
11831183
return TWEEN_CONST.COMPLETE;
11841184
},
11851185

1186-
//
11871186
/**
11881187
* [description]
11891188
*
@@ -1208,11 +1207,6 @@ var Tween = new Class({
12081207
tweenData.state = TWEEN_CONST.COMPLETE;
12091208
break;
12101209
}
1211-
1212-
if (!tweenData.elapsed && tweenData.current)
1213-
{
1214-
tweenData.elapsed = tweenData.duration * tweenData.current;
1215-
}
12161210

12171211
var elapsed = tweenData.elapsed;
12181212
var duration = tweenData.duration;
@@ -1324,7 +1318,7 @@ var Tween = new Class({
13241318

13251319
tweenData.end = tweenData.getEndValue(tweenData.target, tweenData.key, tweenData.start);
13261320

1327-
tweenData.current = tweenData.current || tweenData.start;
1321+
tweenData.current = tweenData.start;
13281322

13291323
tweenData.target[tweenData.key] = tweenData.start;
13301324

0 commit comments

Comments
 (0)