• ベストアンサー

Perl Tkでタイマーイベントは発生できる?

Perl Tkでタイマーイベントは発生できるのでしょうか? 1秒毎に、例えばa.gifという画像をCanvas上で上から下に落ちていく(前の画像は残さない)スクリプトを書きたいのですが、可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SE-1
  • ベストアンサー率57% (26/45)
回答No.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(); } }

参考URL:
http://www.ie.u-ryukyu.ac.jp/~kono/lecture/software/s08/lecture.html

関連するQ&A