GTK+で落書き 3(Ruby)
周転円みたいな。
ライブラリ「MyGtk」についてはこちら。
require_relative 'mygtk' include Math L = 400 R1 = 150; R2 = (L - R1 * 2) / 2 - 5 STP1 = (PI / 180) * 0.5; STP2 = (PI / 180) * 10 MyGtk.app width: L, height: L do draw do color(5000, 0, 10000) rectangle(true, 0, 0, L, L) end i = 0 id = timer(20) do x = L / 2 + (R1 * cos(STP1 * i) + R2 * cos(STP2 * i)) y = L / 2 - (R1 * sin(STP1 * i) + R2 * sin(STP2 * i)) color(0, 65535, 0) arc(false, x, y, 3, 3, 0, 64 * 360) i += 1 Gtk.timeout_remove(id) if STP1 * i > PI * 2 true end end
コールバック関数は true を返さないといけません。