Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: -tk Moving circle

by zentara (Cardinal)
on Feb 27, 2007 at 12:55 UTC ( [id://602290]=note: print w/replies, xml ) Need Help??


in reply to -tk Moving circle

You set tags on the items you want to move, then setup a timer to move them. Don't use "sleep" ! Use a timer ( i.e. a repeat).

P.S. You really don't need the $group, tags by themselves are just as effective.

#!/usr/bin/perl use warnings; use strict; use Tk; my $mw = MainWindow->new(); # first create a canvas widget my $canvas = $mw->Canvas(width => 300, height => 200)->pack(); my $one = $canvas->createOval(5, 0, 20, 30, -fill => 'blue',-tags => +['fred']); my $two = $canvas->createRectangle(0, 20, 50, 75, -fill => 'red',-tags + => ['fred']); #my $group = $canvas->createGroup([0, 0], -members => [$one, $two]); my $group='fred'; my $dx = 1; my $dy = 1; my $id = Tk::After->new($canvas,10,'repeat', sub {$canvas->move($group, $dx,$dy); my ($x,$y) = $canvas->bbox($group); print "$x $y\n"; if($y >= 100){$dy = -1}; if($x >= 200){$dy = 1; $dx = -1}; if($x < -5){$dx=1;$dy=1}; }); my $ebutton = $mw->Button(-text => 'Exit', -command => 'Tk::exit')->pack(); my $sbutton = $mw->Button(-text => 'Stop', -command => sub{$id->cancel;})->pack(); MainLoop();

I'm not really a human, but I play one on earth. Cogito ergo sum a bum

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://602290]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (2)
As of 2026-01-17 11:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What's your view on AI coding assistants?





    Results (121 votes). Check out past polls.

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.