[animation] catch me! attraper la souris !


Description

Coucou!

et voila, un convertion d'un code ActionScript (Flash) de Vincent Cruble (www.zoneflash.net)
qui permet simplement de faire suivre un objet par d'autre.

ici, des points suivent un autre point de coordonnées aleatoire ou encore le curseur de la souris.

L'unité Main montre comment mettre en place ce systeme et l'unité CatchMe contient un type Object (type pas classe)
qui permet de controler les deplacement avec les fonctions qui vont bien avec.

admirez le resultat, c'est tout simplement bluffant.

Source / Exemple :


procedure TCatchUpObj.CatchUp(const X,Y : integer);
var DX,DY : integer;
begin
  {>> Calcul du decalage de position en X }
  DX := round(Vel.X*(X - Pos.X));
  { si DX est egal a 0 on place la position sur X sinon on applique le decalage }
  if DX = 0 then Pos.X := X else Pos.X := Pos.X + DX;

  {>> Meme principe pour Y }
  DY := round(Vel.Y*(Y - Pos.Y));
  if DY = 0 then Pos.Y := Y else Pos.Y := Pos.Y + DY;
end;

Conclusion :


Durant les tests j'ai pousser le nombres de points a 1000 pour voir les performances en plein ecran (1280x1024)
c'est carrement correcte puisque la routine (onTimer + onPaint) ne mets que 15-20ms sur un athlon 2700+

mais bon, l'effet est bien mieux avec un nombre de 5 a 15 points ...

je vais adapter ce code bientot pour des utilisations plus poussée
avec de vrai classes cette fois.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.