Firemonkey : pathdata et format svg

Description

Troisième approche de FireMonkey avec l'animation d'objets sur des "chemins" au format SVG.
Des bases sur le HTML est un plus pour comprendre les articles en liens.
Accompagné d'un tutoriel qui détaille les commandes à utiliser pour créer un path à partir de droites, courbes de Bézier, arcs élliptiques ...
Comme d'habitude, si vous n'avez pas Delphi XE2, vous pourrez télécharger l'exécutable sur mon site.

Source / Exemple :


{==============================================================================================
Code Source : BEAUMONT Christophe
Version : 1.0.0
Date : 18 Novembre 2011
FireMonkey 03 - L'animation d'un TImage contenant un Bitmap et qui fait une rotation de 360°
sur le PathData d'un TPathAnimation.
Retrouvez ce source, son exécutable et bien d'autres sur : "http://www.delphinautes.fr"
==============================================================================================}
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Ani, FMX.Objects,
  FMX.Types3D;

type
  TForm1 = class(TForm)
    Viewport3D1: TViewport3D;
    Image1: TImage;
    PathAnimation1: TPathAnimation;
    PathA: TButton;
    StyleBook1: TStyleBook;
    Label1: TLabel;
    Stop: TButton;
    procedure PathAClick(Sender: TObject);
    procedure StopClick(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.PathAClick(Sender: TObject);
begin
// On désactive le chemin d'animation
 PathAnimation1.Enabled := False;
// On dessine 2 arcs elliptiques de 250 pixels de rayon pour former un cercle
 PathAnimation1.Path.Data := 'M -250,0 A 250 250 0 0 0 250,0 A 250 250 0 0 0 -250,0';
// On valide le nouveau chemin d'animation
 PathAnimation1.Enabled := True;
// Je désactive le bouton
 PathA.Enabled := False;
end;

procedure TForm1.StopClick(Sender: TObject);
begin
// On désactive le chemin d'animation
 PathAnimation1.Enabled := False;
// On repositionne l'image au centre
 Image1.Position.X := 275;
 Image1.Position.Y := 275;
// On replace le départ du chemin au centre
 PathAnimation1.Path.Data := 'M 250,0';
// On valide le nouveau chemin d'animation
 PathAnimation1.Enabled := True;
// Je réactive le bouton
 PathA.Enabled := True;
end;

end.

Conclusion :


Plus de sources sur mon site :

www.delphinautes.fr

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.