Анимация изображений в Плимуте

Анимация изображений в Плимуте

Я пытаюсь анимировать изображение для пользовательской темы plymouth boot. Я могу заставить объект двигаться с шагом в пиксели, но он не обновляется достаточно быстро, чтобы быть плавным. Я не совсем понимаю трюк с обновлением экрана с определенными интервалами кадров. Код у меня выглядит так:

wallpaper_image = Image("Win95.png");
plane_image = Image("paperairplaneShadow.png");
screen_width = Window.GetWidth();
screen_height = Window.GetHeight();
resized_wallpaper_image = wallpaper_image.Scale(screen_width,screen_height);
plane_sprite = Sprite(plane_image);

wallpaper_sprite = Sprite(resized_wallpaper_image);
wallpaper_sprite.SetZ(-100);

progress=0;
fun refresh_callback ()
 {
    for (i = 0; i < 4; i++){
    plane_images[i] = Image("paperairplaneShadow" + i + ".png");
    plane_sprite = Sprite();
}


plane_sprite.SetImage(plane_images[Math.Int(progress/6) % 4]);
//plane_sprite.SetImage(plane_images[]);
plane_sprite.SetX(progress);
//plane_sprite.SetY(progress);


 progress++;


 }
Plymouth.SetUpdateStatusFunction(refresh_callback);

Я следовал инструкциям наhttp://brej.org/blog/?p=197. Я не могу понять, как работает изменение частоты кадров:

butterfly_sprite.SetImage(butterfly_images[Math.Int(progress / 6) % 4]);

Сайт говорит, что он должен выставлять следующее изображение в массиве butterfly.sprite (в котором 4 изображения) каждые 6 кадров. В моем скрипте plane_sprite будет обновляться, но только примерно раз в секунду. Любая помощь будет принята с благодарностью.

Связанный контент