Window.SetBackgroundTopColor(0.00, 0.21, 0.57); #Window.SetBackgroundBottomColor(0.00, 0.17, 0.95); title_left_image = Image("rz_banner_trans.png"); title_right_image = Image("rz_logo_trans.png"); title_left_sprite = Sprite(title_left_image); title_right_sprite = Sprite(title_right_image); title_right_sprite.SetX(Window.GetWidth() - title_right_image.GetWidth()); dot.image = Image("white_dot_small.png"); dot.sprite1 = Sprite(dot.image); dot.sprite2 = Sprite(dot.image); dot.sprite3 = Sprite(dot.image); dot.sprite4 = Sprite(dot.image); dot.sprite5 = Sprite(dot.image); #----------------------------------------- Progress Dots -------------------------------- dot.x = Window.GetWidth() / 2 - dot.image.GetWidth() / 2; dot.y = Window.GetHeight() * 0.75 - dot.image.GetHeight() / 2; dot.spacing = Window.GetWidth() / 15; # place 5 centered dots dot.sprite1.SetPosition(dot.x - 2 * dot.spacing, dot.y, 1); dot.sprite2.SetPosition(dot.x - dot.spacing, dot.y, 1); dot.sprite3.SetPosition(dot.x, dot.y, 1); dot.sprite4.SetPosition(dot.x + dot.spacing, dot.y, 1); dot.sprite5.SetPosition(dot.x + 2 * dot.spacing, dot.y, 1); # set opacity dot.sprite1.SetOpacity(0.1); dot.sprite2.SetOpacity(0.1); dot.sprite3.SetOpacity(0.1); dot.sprite4.SetOpacity(0.1); dot.sprite5.SetOpacity(0.1); fun progress_callback (duration, progress) { phase = Math.Int(duration * 2) % 10; if ( phase == 1 ) { fade_out(dot.sprite5); fade_in(dot.sprite1); } if ( phase == 2 ) { fade_out(dot.sprite1); fade_in(dot.sprite2); } if ( phase == 3 ) { fade_out(dot.sprite2); fade_in(dot.sprite3); } if ( phase == 4 ) { fade_out(dot.sprite3); fade_in(dot.sprite4); } if ( phase == 5 ) { fade_out(dot.sprite4); fade_in(dot.sprite5); } if ( phase == 6 ) { fade_out(dot.sprite5); fade_in(dot.sprite1); } if ( phase == 7 ) { fade_out(dot.sprite1); fade_in(dot.sprite2); } if ( phase == 8 ) { fade_out(dot.sprite2); fade_in(dot.sprite3); } if ( phase == 9 ) { fade_out(dot.sprite3); fade_in(dot.sprite4); } if ( phase == 0 ) { fade_out(dot.sprite4); if ( Math.Int(duration) > 0 ) { fade_in(dot.sprite5); } } } fun fade_in(sprite) { if ( sprite.GetOpacity() + 0.1 < 1 ) { sprite.SetOpacity(sprite.GetOpacity() + 0.1);} } fun fade_out(sprite) { if ( sprite.GetOpacity() - 0.1 > 0.1 ) { sprite.SetOpacity(sprite.GetOpacity() - 0.1);} } Plymouth.SetBootProgressFunction(progress_callback);