Delphi XE2의 FireMonkey 시작하기(12) - 애니메이션(위)
3725 단어 Delphi
이것은 가장 간단한 애니메이션 관련 컨트롤입니다. 주의할 만한 두 가지 속성만 있습니다.
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;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.