]> mj.ucw.cz Git - anim.git/blob - AA/Anim.pm
Added a skeleton of the animator module.
[anim.git] / AA / Anim.pm
1 package AA::Anim;
2
3 our $timer = AA->new('T');
4 $timer->DefSet('T', 0);
5
6 sub time($) {
7         return $timer->Get('T');
8 }
9
10 sub step($) {
11         $timer->Set('T', $timer->Get('T') + 1);
12         AA->calculate;
13 }
14
15 sub ticker($$$$) {
16         my ($class, $x0, $x1, $dt) = @_;
17         my $t0 = AA::Anim->time;
18         return sub {
19                 my $t = AA::Anim->time;
20                 if ($t - $t0 >= $dt) {
21                         return $x1;
22                 } else {
23                         return $x0 + ($x1 - $x0) * ($t - $t0)/$dt;
24                 }
25         };
26 }
27
28 1;