Delphi XE2의 FireMonkey 시작하기(12) - 애니메이션(위)

3725 단어 Delphi
HD 창에 TaniIndicator를 추가하여 Enabled 속성을 True로 수정하고 애니메이션을 완성합니다.
이것은 가장 간단한 애니메이션 관련 컨트롤입니다. 주의할 만한 두 가지 속성만 있습니다.

Enabled: Boolean;          //
Style: TAniIndicatorStyle; //TAniIndicatorStyle = (aiLinear, aiCircular);

{ }
AniIndicator1.Style := TAniIndicatorStyle.aiCircular;
그것은 어떻게 움직이기 시작했습니까?원본 코드를 추적하여 FAni: TFloat Animation 발견;내부 변수.
TFloatAnimation의 부류 TAnimation을 쫓아내기;Tanimation은 FMX에 있어요.Types 단원, 핵심 구성원인가 봐요.
Tanimation의 하위 클래스들은 FMX에 있습니다.Ani 유닛:

TFloatAnimation      //
TFloatKeyAnimation   //
TColorAnimation      //
TColorKeyAnimation   //
TGradientAnimation   //
TPathAnimation       //
TRectAnimation       //
TBitmapAnimation     //
TBitmapListAnimation //
TFloatKeyAnimation   //
TColorKeyAnimation   //
일찍이 TFmxObject(FMX들의 조상)에는 애니메이션과 관련된 방법이 있었다.

StartAnimation();            //
StopAnimation();             //
StartTriggerAnimation();     //
StartTriggerAnimationWait(); //
StopTriggerAnimation();      //
AnimateFloat();              //
AnimateColor();              //
AnimateFloatDelay();         //
AnimateFloatWait();          //
StopPropertyAnimation();     //
FMX에서 따로.Types 단원에는 주로 내부에서 사용해야 하는 애니메이션 삽입 알고리즘의 공통 함수도 있습니다.

InterpolateSingle();   //
InterpolateRotation(); //
InterpolateColor();    //
InterpolateLinear();   //
InterpolateSine();     //
InterpolateQuint();    //
InterpolateQuart();    //
InterpolateQuad();     //
InterpolateExpo();     //
InterpolateElastic();  //
InterpolateCubic();    //
InterpolateCirc();     //
InterpolateBounce();   //
InterpolateBack();     //
많은 애니메이션은 디자인할 때 쉽게 완성할 수 있어야 하며, 다음과 같은 특정 속성 값을 선택할 때 애니메이션을 직접 추가할 수 있습니다.

//Bitmap   :
Create New TBitmapAnimation
Create New TBitmapListAnimation

//Color   :
Create New TColorAnimation
Create New TColorKeyAnimation

//Gradient   :
Create New TGradientAnimation

//Width、Height、X、Y、StrokeThickness、XRadius、YRadius、Opacity、RotationAngle    :
Create New TFloatAnimation
Create New TFloatKeyAnimation
먼저 컨트롤을 돌리는 애니메이션을 시도해 보십시오:
Trectangle을 추가하여 RotationAngle 속성Create New TFloatAnimation(삭제가 필요한 경우 선택한 후 Delete 누름)에서
그런 다음 자동으로 설정된 FloatAnimation1의 속성 값을 조정합니다.

//          ,          :
procedure TForm1.FormCreate(Sender: TObject);
begin
  FloatAnimation1.Enabled := True;
  FloatAnimation1.Loop := True;
  FloatAnimation1.Duration := 2.5;  //         ( )
  FloatAnimation1.StartValue := 0;  //    
  FloatAnimation1.StopValue := 360; //    
end;
위쪽 애니메이션을 디자인하는 또 다른 방법:
1. Trectangle(Rectangle1)을 추가합니다.
2. Rectangle1을 선택한 후 TFloatAnimation(FloatAnimation1)을 추가한다.
3. FloatAnimation1의 속성 수정PropertyName 값은 RotationAngle입니다.
4, 위에서 설정한 FloatAnimation1의 기타 속성.
전체 실행 시 위 애니메이션을 실행하는 코드:

uses FMX.Objects, FMX.Ani; //  ,        

var
  rect: TRectangle;

procedure TForm1.FormCreate(Sender: TObject);
begin
  rect := TRectangle.Create(Self);
  rect.Parent := Self;
  rect.Align := TAlignLayout.alCenter;

  with TFloatAnimation.Create(Self) do
  begin
    Parent := rect;
    PropertyName := 'RotationAngle';
    Enabled := True;
    Loop := True;
    Duration := 2.5;
    StartValue := 0;
    StopValue := 360;
  end;
end;

좋은 웹페이지 즐겨찾기