class Rubots::Graphics::Beam
Constants
- BEAM_DURATION
- BEAM_LENGTH
Public Class Methods
new(window, beam)
click to toggle source
# File lib/rubots/graphics/beam.rb, line 7 def initialize(window, beam) @beam = beam @duration = BEAM_DURATION @window = window @pew = Gosu::Sample.new(window, Assets::PEW_SOUND) @pew.play end
Public Instance Methods
decay()
click to toggle source
# File lib/rubots/graphics/beam.rb, line 15 def decay @duration -= 1 end
draw()
click to toggle source
# File lib/rubots/graphics/beam.rb, line 23 def draw rad_angle = @beam.angle * Math::PI / 180 x_end = @beam.source_x + Math.sin(rad_angle) * BEAM_LENGTH y_end = @beam.source_y + Math.cos(rad_angle) * BEAM_LENGTH * -1 beam_color = 0xffff0000 @window.draw_line @beam.source_x, @beam.source_y, beam_color, x_end, y_end, beam_color end
expired?()
click to toggle source
# File lib/rubots/graphics/beam.rb, line 19 def expired? @duration <= 0 end