У меня есть 4 многоразовых анимации, которые должны перемещать цель относительно ее текущей позиции.
Каждый из них в основном такой же, как в этом примере, но для каждого кардинального направления:
goLeft = this.tweens.add({
targets: gamePieceSprite,
x: {value: '-=64'},
duration: 1000,
paused: true
});
Поскольку я хочу иметь возможность использовать эти анимации несколько раз, я использую метод restart()
, который позволяет воспроизводить анимацию движения с текущей позиции спрайта, но даже когда я меняю позицию спрайта, когда я вызовите функцию, чтобы перезапустить воспроизводимую анимацию, исходя из координат, в которых она была впервые воспроизведена, а не из текущего целевого спрайта.
var pathCounter = 0;
testPathText.on('pointerdown', function(){
if (pathCounter % 2 == 0)
{
gamePieceSprite.setX(startTile.x);
gamePieceSprite.setY(startTile.y);
}
else
{
if (levelStartRotation[level] == '1')
{
goLeft.restart();
}
else if (levelStartRotation[level] == '2')
{
goUp.restart();
}
else if (levelStartRotation[level] == '3')
{
goDown.restart();
}
else if (levelStartRotation[level] == '4')
{
goRight.restart();
}
}
pathCounter++;
});
Можно ли как-нибудь обновить начальную точку анимации, чтобы перезапуск не начинался с того места, где он начинался раньше?