samples/good-arc.rb in shoes-3.0.1 vs samples/good-arc.rb in shoes-4.0.0.pre1
- old
+ new
@@ -1,36 +1,44 @@
#
# a translation from a processing example
# http://vormplus.be/weging/an-introduction-to-processing/
#
-Shoes.app :width => 420, :height => 420, :resizable => false do
- stage, wide, sw, basesize, step = 0, 3.0, 1.0, 600, 60
- stroke gray(127)
+Shoes.app width: 420, height: 420, resizable: false do
+ stage, wide, sw, basesize, step = 0, 3, 1.0, 600, 60
+ stroke white(100)
nofill
animate 40 do |i|
- stage = (1...8).rand if i % 40 == 0
- rotation = -(HALF_PI / wide)
+ stage = rand(1...8) if i % 40 == 0
+ if wide.abs < 0.1
+ if stage == 6
+ wide = -0.1
+ else
+ wide = 0.1
+ end
+ end
+ rotation = -(Shoes::HALF_PI / wide)
clear do
background gray(240)
10.times do |i|
strokewidth sw * i
- size = (basesize / 3) + ((step / 3) * i)
- shape do
- arc self.width / 2, self.height / 2,
- size, size,
- rotation * i, rotation * i + TWO_PI - HALF_PI
- end
+ size = (basesize + step * i) / 3
+ top = (self.height - size) / 2
+ left = (self.width - size) / 2
+ arc top, left,
+ size, size,
+ rotation * i,
+ rotation * i + Shoes::TWO_PI - Shoes::HALF_PI
end
end
case stage
when 1; wide -= 0.1
when 2; wide += 0.1
when 3; basesize -= 1
when 4; basesize += 2
when 5; sw += 0.1
- when 6; sw -= 0.01
+ when 6; sw = [sw - 0.1, 0.1].max
when 7; step += 2
else step -= 1
end
end
end