La logique d'exécution d'une application Flash

FlashPascal, développé par un expert en programmation Delphi, est un outil de développement qui s'adresse en particulier aux développeurs Pascal. Cependant, s'il permettait de (re)démocratiser l'usage du langage Pascal j'en serais ravi.
Quoi qu'il en soit, si vous êtes développeur Delphi, FreePascal ou même Turbo Pascal, vous retrouverez certains repères dans le langage FlashPascal, mais la logique d'exécution d'une animation Flash étant assez particulière, il m'a semblé nécessaire d'apporter ici quelques précisions.

L'animation possède un timer implicite qui définit la fréquence de rafraîchissement de l'écran. Sous FlashPascal, sa valeur est déterminée par la directive de compilation FRAME_RATE.
Si vous regardez l'exemple Barycentre livré avec FlashPascal, vous noterez que l'objet TSpot possède une méthode onEnterFrame qui vient renseigner ses propriétés _x et _y.

procedure TSpot.onEnterFrame;
var
  n, m: Integer;
begin
  t := t + dt;
  if t >= 7 then
    t := 0;
  n := Floor(t);
  if n = 6 then
    m := 0
  else
    m := n + 1;
  _x := barycentre(pt[n]._x, a[n]._x, pt[m]._x, t-n);
  _y := barycentre(pt[n]._y, a[n]._y, pt[m]._y, t-n);
end;
Pour obtenir le même effet sous Delphi on aurait utilisé un Timer qui viendrait calculer les propriétés Top et Left d'un TShape posé sur une fiche.
Pour modifier la vitesse de déplacement du point vert, vous pouvez modifier la valeur du FRAME_RATE ou le calcul du temps avec la valeur de dt.