У меня есть представление, которое мне нужно масштабировать с ускорением, я имею в виду, что когда масштаб MIN_SCALE
, скорость должна быть медленной, но когда масштаб близок к MAX_SALE
, скорость должна быть более высокой. Теперь моя скорость всегда одинакова.
Существует ряд кадров, которые View будет использовать для своего движения:
numberOfFrames = Math.round((float)ANIMATION_TIME/GameLoopThread.FRAME_PERIOD);
frameCount = 0;
и я вычисляю scaleVelocity с этим количеством кадров:
scaleVelocity = (MAX_SCALE-MIN_SCALE)/numberOfFrames;
На каждой итерации игрового цикла я обновляю масштаб представления с помощью этого кода:
if (frameCount<numberOfFrames) {
currentScale = currentScale + scaleVelocity;
frameCount++;
}
Когда количество кадров достигнет numberOfFrames
, анимация должна закончиться.
Как я могу добавить ускорение к этому коду? имейте в виду, что ускорение должно учитывать, что представление должно достичь MAX_SCALE
в последнем кадре из переменной frameCount.