- ベストアンサー
Perl Tkでタイマーイベントは発生できる?
Perl Tkでタイマーイベントは発生できるのでしょうか? 1秒毎に、例えばa.gifという画像をCanvas上で上から下に落ちていく(前の画像は残さない)スクリプトを書きたいのですが、可能でしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
# strict を使ってなくて雑ですが・・こんなんどうでしょう。 # after というのでインターバルを設定できるようです(下から5行目)。 # あとは、表示するのを oval から画像に変えればいいと思います。 use Tk; $top = MainWindow->new(); $canvas = $top->Canvas( width => 300, height => 300 ); $canvas->pack(); $oval = $canvas->create( 'oval', 10, 10, 50, 50 ); $canvas->itemconfigure( $oval, -fill => 'blue', -outline => 'blue' ); $btn = $top->Button( -text => 'Start', -width=>10, -command => \&start_move ); $btn ->pack(); $self->{'MainWindow'} = $top; $self->{'Canvas'} = $canvas; MainLoop(); sub start_move{ for($i=0;$i<5;$i++){ $canvas->after('200'); $canvas->move($oval,10,10); $self->{'MainWindow'}->update(); } }