diff options
| author | realtradam <[email protected]> | 2021-04-24 01:24:35 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2021-04-24 01:24:35 -0400 |
| commit | d7a979e5f66e464e96d000dc2f309b8800beb2ab (patch) | |
| tree | 7677fe98bbf88e3214176d045530ad203f4ea4d8 /camera.rb | |
| parent | 5d5cbf2f1b39fb50f3abb7d8d9eb8fbd76115a83 (diff) | |
| download | ruby2d-camera-d7a979e5f66e464e96d000dc2f309b8800beb2ab.tar.gz ruby2d-camera-d7a979e5f66e464e96d000dc2f309b8800beb2ab.zip | |
.
Diffstat (limited to 'camera.rb')
| -rw-r--r-- | camera.rb | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/camera.rb b/camera.rb deleted file mode 100644 index cd4dc38..0000000 --- a/camera.rb +++ /dev/null @@ -1,105 +0,0 @@ -# frozen_string_literal: true - -require_relative 'adapt_triangle' - -module Camera - - class <<self - private - def objects - @objects ||= [] - end - end - - def self.<<(item) - item.extend AdaptTriangle if item.is_a? Triangle - objects.push(item) unless objects.include?(item) - end -=begin - def self.center_x - x + ((Window.width / 2) * (1/zoom)) - end - - def self.center_x=(center_x) - @x = center_x - ((Window.width / 2) )#* (1/zoom)) - objects.each(&:_update) - end - - def self.center_y - y + ((Window.height / 2) )#* (1/zoom)) - end - - def self.center_y=(center_y) - @y = center_y - ((Window.height / 2) )#* (1/zoom)) - objects.each(&:_update) - end -=begin - def self.center(center_x, center_y) - self.center_y = center_y - self.center_x = center_y - #@y = center_y - #@x = center_x - angle = Math::PI / 180 * (Camera.angle + (1 * 45)) - offset_angle = Math::PI / 180 * 45 - x = (Math.cos(angle) - Math.cos(offset_angle)) * (Window.width/2) * Math.sqrt(2) * (1 / zoom) - y = (Math.sin(angle) - Math.sin(offset_angle)) * (Window.height/2) * Math.sqrt(2) * (1 / zoom) - @x += x - @y += y - #@x = x + ((pivot_x - x) * Math.cos(angle)) - ((pivot_y - y) * Math.sin(angle)) - #@y = y + ((pivot_x - x) * Math.sin(angle)) + ((pivot_y - y) * Math.cos(angle)) - objects.each(&:_update) - end -=end - - def self._x(x) - @x += x - objects.each(&:_update) - end - - def self._y(y) - @y += y - objects.each(&:_update) - end - - def self.x - @x ||= 0 - end - - def self.x=(x) - #angle = Camera.angle * (Math::PI / 180) - #@y += (x - self.x) * Math.sin(-angle) - @x = x#+= (x - self.x) * Math.cos(-angle) - objects.each(&:_update) - end - - def self.y - @y ||= 0 - end - - def self.y=(y) - #angle = Camera.angle * (Math::PI / 180) - #@x += -(y - self.y) * Math.sin(-angle) - @y = y#+= (y - self.y) * Math.cos(-angle) - objects.each(&:_update) - end - - def self.zoom - @zoom ||= 1.0 - end - - def self.zoom=(zoom) - if zoom != self.zoom - @zoom = zoom - objects.each(&:_update) - end - end - - def self.angle - @angle ||= 0 - end - - def self.angle=(angle) - @angle = angle - objects.each(&:_update) - end -end |
