Class: Pongo::Renderer::ShoesRenderer
- Defined in:
- lib/pongo/renderer/shoes_renderer.rb
Instance Attribute Summary collapse
-
#shoes ⇒ Object
readonly
Returns the value of attribute shoes.
Instance Method Summary collapse
- #draw_circle(item) ⇒ Object (also: #draw_wheel)
- #draw_rectangle(item) ⇒ Object
- #draw_spring(item) ⇒ Object
-
#initialize(shoes) ⇒ ShoesRenderer
constructor
A new instance of ShoesRenderer.
Methods inherited from Renderer
#cleanup, #cleanup_circle, #cleanup_rectangle, #cleanup_spring, #cleanup_wheel, #draw, #with
Constructor Details
#initialize(shoes) ⇒ ShoesRenderer
Returns a new instance of ShoesRenderer.
8 9 10 |
# File 'lib/pongo/renderer/shoes_renderer.rb', line 8 def initialize(shoes) @shoes = shoes end |
Instance Attribute Details
#shoes ⇒ Object (readonly)
Returns the value of attribute shoes.
6 7 8 |
# File 'lib/pongo/renderer/shoes_renderer.rb', line 6 def shoes @shoes end |
Instance Method Details
#draw_circle(item) ⇒ Object Also known as: draw_wheel
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/pongo/renderer/shoes_renderer.rb', line 12 def draw_circle(item) if item.user_data[:shape] item.user_data[:shape].style( :left => item.px - item.radius, :top => item.py - item.radius ) else item.user_data[:shape] = @shoes.oval( item.px - item.radius, item.py - item.radius, item.radius * 2 ) end end |
#draw_rectangle(item) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/pongo/renderer/shoes_renderer.rb', line 28 def draw_rectangle(item) item.user_data[:shape].remove if item.user_data[:shape] with(:transform => :center, :rotate => -item.angle) do item.user_data[:shape] = @shoes.rect( :left => (item.px - item.width/2), :top => (item.py - item.height/2), :width => item.width, :height => item.height ) end end |
#draw_spring(item) ⇒ Object
41 42 43 44 45 46 47 48 |
# File 'lib/pongo/renderer/shoes_renderer.rb', line 41 def draw_spring(item) if item.collidable? draw_rectangle(item.scp) else item.user_data[:shape].remove if item.user_data[:shape] item.user_data[:shape] = @shoes.line(item.p1.px, item.p1.py, item.p2.px, item.p2.py) end end |