Итак анимация
прилетела вьюха из угла (0, 0) в кординаты (100, 100)
и увеличилась с (0, 0) до (200, 200)
Добавить какой нить StateMachine (sm)
sm.set_frame_rate(60); // Чтобы обеспечить плавную анимацию
sm.add_transition_move(Arc(View), 100, 100, 1000ms); // 1sec
sm.add_transition_resize(Arc(View), 200, 200, 1000ms); // 1sec
Для move
// anim_time = 1000
step = anim_time / frame_rate; // 16.6
// x_aim, y_aim - конечный размер (100, 100)
x_step = x_aim / anim_time * step;
y_step = y_aim / anim_time * step;
loop 1 .. (frame_rate - 1) {
view.x += x_step;
view.y ~= y_step;
sleep(step)
}
view.x = x_aim;
view.y = y_aim;