class Asteroids::ExplosionGraphics
Constants
- FRAME_DELAY
Public Class Methods
new(game_object)
click to toggle source
Calls superclass method
Asteroids::Component::new
# File lib/asteroids/explosion/explosion_graphics.rb, line 6 def initialize(game_object) super @current_frame = 0 end
Public Instance Methods
draw()
click to toggle source
# File lib/asteroids/explosion/explosion_graphics.rb, line 12 def draw() image = current_frame image.draw( object.x - image.width / 2.0, object.y - image.height / 2.0, 100) end
update()
click to toggle source
# File lib/asteroids/explosion/explosion_graphics.rb, line 20 def update now = Gosu.milliseconds delta = now - (@last_frame ||= now) if delta > FRAME_DELAY @last_frame = now end @current_frame += (delta / FRAME_DELAY).floor object.mark_for_removal if done? end
Private Instance Methods
animation()
click to toggle source
# File lib/asteroids/explosion/explosion_graphics.rb, line 40 def animation @@animation ||= Gosu::Image.load_tiles( $window, Utils.get_image_path("explosion.png"), 128, 128, false) end
current_frame()
click to toggle source
# File lib/asteroids/explosion/explosion_graphics.rb, line 32 def current_frame animation[@current_frame % animation.size] end
done?()
click to toggle source
# File lib/asteroids/explosion/explosion_graphics.rb, line 36 def done? @done ||= @current_frame >= animation.size end