我正在尝试为自定义普利茅斯靴子主题制作动画图像。我可以让对象以像素为增量移动,但更新速度不够快,不够流畅。我不太明白以特定帧间隔刷新屏幕的技巧。我的代码如下所示:
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]);
该网站表示,它应该每 6 帧将下一张图片放入 Butterfly.sprite 数组(包含 4 张图片)中。在我的脚本中,plane_sprite 将更新,但每秒仅更新一次。任何帮助都将不胜感激。