use strict; use warnings; use Tk; my $top = MainWindow->new(); my $canvas = $top->Canvas(width=>300, height=>245, background=>'blue')->pack(); my $origin_x=110; my $origin_y=70; my $PI=3.141592635; my $circle_radius=5; my $path_radius=0; for (my $angle=0; $angle<=180; $path_radius+=7, $circle_radius+=3, $angle+=10) { my $path_x=$origin_x+$path_radius*cos($angle*$PI/90); my $path_y=$origin_y-$path_radius*sin($angle*$PI/90); $canvas->createOval($path_x-$circle_radius, $path_y-$circle_radius, $path_x+$circle_radius, $path_y+$circle_radius, -fill=>'yellow'); $canvas->update(); sleep(1); } MainLoop();