Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/samples/simple-chipmunk.rb
blob: 2c51e93ac450de75924683b92f124c939b6f4104 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# simple-chipmunk.rb
require 'shoes/chipmunk'

Shoes.app title: 'A Tiny Chipmunk Physics Demo' do
  extend ChipMunk
  space = cp_space
  balls = []
  
  nofill
  cp_line 0, 180, 200, 280, stroke: gold
  cp_line 200, 280, 300, 270, stroke: gold
  cp_line 250, 350, 350, 330
  cp_line 170, 370, 220, 380
  cp_line 100, 450, 300, 430, stroke: lightslategray
  cp_line 300, 430, 500, 450, stroke: lightslategray

  nostroke
  oval(10, 30, 40, fill: blue).click{balls << cp_oval(30, 50, 20, stroke: blue, strokewidth: 2)}
  oval(70, 40, 20, fill: green).click{balls << cp_oval(80, 50, 10, fill: green)}
  oval(105, 45, 10, fill: red).click{balls << cp_oval(110, 50, 5, fill: red)}
  
  every do
    6.times{space.step 1.0/60}
    balls.each{|ball| ball.cp_move}
  end
end