Class: Bestguigui::SplashScene
- Defined in:
- lib/bestguigui_lab/splash_scene.rb
Overview
Écran de démarrage prêt à l'emploi : titre + "Powered by Gosu" en fondu, avec un SplashGem qui tombe et rebondit sur le titre. Bascule ensuite sur la scène suivante.
Bestguigui::SplashScene.new(window, title: "Mon jeu", next_scene: :menu)
Constant Summary collapse
- FADE_IN =
0.6- HOLD =
1.2- FADE_OUT =
0.6
Instance Method Summary collapse
- #draw ⇒ Object
-
#initialize(window, title:, next_scene:) ⇒ SplashScene
constructor
A new instance of SplashScene.
- #update(dt) ⇒ Object
Methods inherited from Scene
Constructor Details
#initialize(window, title:, next_scene:) ⇒ SplashScene
Returns a new instance of SplashScene.
128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/bestguigui_lab/splash_scene.rb', line 128 def initialize(window, title:, next_scene:) super(window) @title = title @next_scene = next_scene @gem = SplashGem.new(window) @title_font = Assets.font(size: 64) @subtitle_font = Assets.font(size: 24) @gosu_font = Assets.font(size: 36) @elapsed = 0.0 Assets.gem_sound('assets', 'splash_jingle.wav').play end |
Instance Method Details
#draw ⇒ Object
145 146 147 148 149 150 151 152 153 |
# File 'lib/bestguigui_lab/splash_scene.rb', line 145 def draw color = Gosu::Color.new(fade_alpha, 255, 255, 255) accent = Gosu::Color.new(fade_alpha, 220, 30, 40) offset = @gem.title_offset(@elapsed) @gem.draw(@elapsed, fade_alpha) draw_centered(@title_font, @title, (@window.height / 2) + offset, color) draw_powered_by((@window.height / 2) + 80 + offset, color, accent) end |