Module: ChipMunk

Defined in:
lib/shoes/chipmunk.rb

Instance Method Summary collapse

Instance Method Details

#cp_line(x0, y0, x1, y1, opts = {}) ⇒ Object


23
24
25
26
27
28
29
# File 'lib/shoes/chipmunk.rb', line 23

def cp_line x0, y0, x1, y1, opts = {}
  opts[:strokewidth] = 5 unless opts[:strokewidth]
  sb = CP::Body.new 1.0/0.0, 1.0/0.0
  seg = CP::Shape::Segment.new sb, vec2(x0, y0), vec2(x1, y1), opts[:strokewidth]
  @space.add_shape seg
  line x0, y0, x1, y1, opts
end

#cp_oval(l, t, r, opts = {}) ⇒ Object


12
13
14
15
16
17
18
19
20
21
# File 'lib/shoes/chipmunk.rb', line 12

def cp_oval l, t, r, opts = {}
  b = CP::Body.new 1,1
  b.p = vec2 l, t
  @space.add_body b
  @space.add_shape CP::Shape::Circle.new(b, r, vec2(0, 0))
    
  img = image left: l-r-1, top: t-r-1, width: 2*r+2, height: 2*r+2, body: b, inflate: r-2 do
    oval 1, 1, 2*r, opts
  end
end

#cp_spaceObject


5
6
7
8
9
10
# File 'lib/shoes/chipmunk.rb', line 5

def cp_space
  @space = CP::Space.new
  @space.damping = 0.8
  @space.gravity = vec2 0, 25
  @space
end