Class: Ruby2D::Camera::Line
- Inherits:
-
Line
- Object
- Line
- Ruby2D::Camera::Line
- Defined in:
- lib/ruby2d/camera/line.rb
Overview
Wraps existing variables as well as adding new methods so that it can be handled by the Camera Module
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#_draw ⇒ Object
Recalculates real coordiantes Use after changing variables.
- #add ⇒ Object
-
#initialize(opts = {}) ⇒ Line
constructor
A new instance of Line.
- #remove ⇒ Object
- #z=(z) ⇒ Object
Constructor Details
Instance Attribute Details
#x ⇒ Object
50 51 52 |
# File 'lib/ruby2d/camera/line.rb', line 50 def x @x ||= 0 end |
#y ⇒ Object
54 55 56 |
# File 'lib/ruby2d/camera/line.rb', line 54 def y @y ||= 0 end |
Instance Method Details
#_draw ⇒ Object
Recalculates real coordiantes Use after changing variables
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ruby2d/camera/line.rb', line 10 def _draw return if @hide angle = Camera.angle * (Math::PI / 180) half_width = Window.width * 0.5 half_height = Window.height * 0.5 temp_x1 = (((x + @x1 - Camera.x) * Math.cos(angle)) - ((y + @y1 - Camera.y) * Math.sin(angle))) * Camera.zoom + half_width temp_y1 = (((x + @x1 - Camera.x) * Math.sin(angle)) + ((y + @y1 - Camera.y) * Math.cos(angle))) * Camera.zoom + half_height temp_x2 = (((x + @x2 - Camera.x) * Math.cos(angle)) - ((y + @y2 - Camera.y) * Math.sin(angle))) * Camera.zoom + half_width temp_y2 = (((x + @x2 - Camera.x) * Math.sin(angle)) + ((y + @y2 - Camera.y) * Math.cos(angle))) * Camera.zoom + half_height temp_width = width * Camera.zoom Ruby2D::Line.draw(x1: temp_x1, y1: temp_y1, x2: temp_x2, y2: temp_y2, width: temp_width, color: [ [color.r, color.g, color.b, color.a], [color.r, color.g, color.b, color.a], [color.r, color.g, color.b, color.a], [color.r, color.g, color.b, color.a] ], z: z) end |
#add ⇒ Object
43 44 45 |
# File 'lib/ruby2d/camera/line.rb', line 43 def add @hide = false end |
#remove ⇒ Object
39 40 41 |
# File 'lib/ruby2d/camera/line.rb', line 39 def remove @hide = true end |
#z=(z) ⇒ Object
58 59 60 61 |
# File 'lib/ruby2d/camera/line.rb', line 58 def z=(z) super(z) Ruby2D::Camera._sort_by_z end |