Sha256: dcb58b97f1d38f08c64eeac5b0da2a4a86d2d91af50634e06ceaede164719227
Contents?: true
Size: 1.74 KB
Versions: 2
Compression:
Stored size: 1.74 KB
Contents
degree = 0 color = 0 size = 0 Shoes.app width: 537, height: 500 do background rgb(1.0, 0.5, 1.0, 1.0) # Convert degrees to radians def to_radians(deg) deg * Math::PI / 180 end red_circles, blue_circles = [], [] mx, my = (500/2).to_i, (537/2).to_i animate(36) do #clear do # Manage color nostroke # Update some variables degree += 1 size += 1 degree = 0 if(degree >= 360) size = 0 if(size >= 100) color = 0.0 if(color >= 1.0) color += 0.05 if(degree % 10 == 0) # Draw inner circle fill red(color) 10.times do |i| current_size = 100 + size d = to_radians(i * 60 + degree) rx = Math::cos(d) * 100 ry = Math::sin(d) * 100 center_x = -current_size/2 + rx + mx center_y = -current_size/2 + ry + my unless red_circles.size == 10 red_circles << oval(center_x, center_y, current_size, current_size) else r = red_circles[i] r.style fill: red(color) r.left, r.top, r.width, r.height = center_x, center_y, current_size, current_size end end # Draw outer circle fill blue(color) 20.times do |i| current_size = 50 + size d = to_radians(i * 30 - degree) rx = Math::cos(d) * 150 ry = Math::sin(d) * 150 center_x = -current_size/2 + rx + mx center_y = -current_size/2 + ry + my unless blue_circles.size == 20 blue_circles << oval(center_x, center_y, current_size, current_size) else b = blue_circles[i] b.style fill: blue(color) b.left, b.top, b.width, b.height = center_x, center_y, current_size, current_size end end #end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shoes-4.0.0.pre2 | samples/sample14.rb |
shoes-4.0.0.pre1 | samples/sample14.rb |