Animieren von Bildern in Plymouth

Animieren von Bildern in Plymouth

Ich versuche, ein Bild für ein benutzerdefiniertes Plymouth-Boot-Thema zu animieren. Ich kann das Objekt in Pixelschritten bewegen, aber es aktualisiert sich nicht schnell genug, um flüssig zu sein. Ich verstehe den Trick nicht ganz, den Bildschirm in bestimmten Frame-Intervallen zu aktualisieren. Der Code, den ich habe, sieht so aus:

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);

Ich habe das Tutorial unterhttp://brej.org/blog/?p=197. Ich kann nicht herausfinden, wie die Änderung der Bildrate funktioniert:

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

Auf der Site steht, dass alle 6 Frames das nächste Bild im Butterfly.Sprite-Array (das 4 Bilder enthält) angezeigt werden soll. In meinem Skript wird das Plane_Sprite aktualisiert, aber nur etwa einmal pro Sekunde. Für jede Hilfe wäre ich sehr dankbar.

verwandte Informationen