class Pong::Field
Attributes
height[RW]
width[RW]
Public Class Methods
new(margin=0.05)
click to toggle source
# File gtk2/sample/misc/cairo-pong.rb, line 132 def initialize(margin=0.05) @margin = margin @left_paddle = Paddle.new(self, @margin, 0.5) @right_paddle = Paddle.new(self, 1 - @margin, 0.7) @paddles = [@left_paddle, @right_paddle] @ball = Ball.new end
Public Instance Methods
draw(cr)
click to toggle source
# File gtk2/sample/misc/cairo-pong.rb, line 151 def draw(cr) cr.set_source_rgba(1, 1, 1) cr.rectangle(0, 0, 1, 1) cr.fill cr.save do cr.set_source_rgba(0.8, 0.8, 0.8, 0.8) cr.set_line_join(Cairo::LINE_JOIN_ROUND) @paddles.each do |paddle| cr.save {paddle.draw(cr)} end end cr.set_source_rgba(0, 0, 0) cr.save {@ball.draw(cr)} end
update()
click to toggle source
# File gtk2/sample/misc/cairo-pong.rb, line 141 def update @paddles.each do |paddle| paddle.update(@ball) end @ball.update @paddles.each do |paddle| paddle.update_ball(@ball) end end