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