델파이의 모든 객체는 객체의 위치와 크기를 제어하기 위해 상단, 왼쪽, 높이 및 너비를 제공합니다.
아크 커튼
커튼 설교는 중간에서 양쪽으로 스크린을 천천히 표시합니다. 여기에서 dbimage1의 중심 속성을 true로 설정하십시오. 폭을 0으로 설정하고 왼쪽 값을 적절하게 설정하여 화면 중앙에 나타납니다. 애니메이션을 구현하는 주요 방법은 왼쪽 속성을 수정하는 것입니다 (값은 점차 작아집니다). 너비 변경 값은 왼쪽 변경 값이어야합니다. Dimeer1의 시간 이벤트에 다음 진술을 입력하십시오.
if (dbimage1.left> 0) 그러면
시작하다
dbimage1.left : = dbimage1.left-1;
dbimage1.width : = dbimage1.width+2;
// dbimage1.width의 변경 값은 dbimage1.left의 변경 값의 2 배 여야합니다.
끝
또 다른
timer1.enabled : = false; // 끝납니다.
위의 프로그램에서 남은 변경을 상단 및 너비에서 높이까지 수직 커튼 당기기를 달성합니다. 커튼을 당기는 효과가 텍스트 유형 객체에 적용되면 이미지가 매우 좋습니다.
,아코디언
Eye-Shijing의 애니메이션에서 전체 화면이 표시되면 화면이 양쪽에서 중간으로 천천히 막히고 아코디언을 연주하는 것처럼 계속 순환합니다. 구현할 때 현재 상태를 표시하기 위해 가변 상태를 추가해야합니다. 특정 절차는 다음과 같습니다.
절차 tform1.Timer1Timer (Sender : Tobject);
시작하다
상태 = 1이면
if (dbimage1.left> 0) 그러면
시작하다
dbimage1.left : = dbimage1.left-1
dbimage1.width : = dbimage1.width+2
끝
또 다른
// 화면이 완전히 열리면 상태 변수를 변경합니다.
상태 : = 2
else // 양쪽에서 중간으로 당겨집니다
dbimage1.left <form1.width div 2 인 경우
시작하다
dbimage1.left : = dbimage1.left+1;
dbimage1.width : = dbimage1.width-2;
끝
또 다른
// 화면이 닫히면 상태 변수를 변경하십시오
상태 : = 1;
끝;
, 울타리 유형
표면은 처음에 수직 울타리에 의해 차단 된 다음 울타리가 점차 좁아지고 그림이 울타리로 나뉘어져 있습니다. 이 애니메이션에서 울타리의 역할은 정적 텍스트 유형의 객체 역할을합니다 (화면에는 여러 울타리가 표시되며 여러 정적 텍스트 객체가 필요합니다). 정적 텍스트 유형 객체의 왼쪽 및 너비 특성을 변경하십시오 (왼쪽은 점차 커지고 폭이 점차 작아지면 각 정적 텍스트 객체는 다음과 같이 처리됩니다.
st1.width> 0 인 경우 // st1은 stactictext 유형의 객체입니다.
시작하다
st1.width : = st1.width-2;
st1.left : = st1.left+1;
끝
또 다른
// 다시 실행하십시오
시작하다
ST1.Width : = 40; 왼쪽은 실제 상황에 따라 결정됩니다
st1.left : = 40;
끝;
수평 위의 울타리를 정리하고 왼쪽으로 바꾸고 높이가 높아지면 백 페이지 창의 효과가됩니다.
g⒎ 페이지
전환을 재개하는 효과는 실제로 최고 값을 고정하고 높이 값을 변경하며 스트레치 값을 true로 설정하는 것입니다. Timer1의 시간 이벤트에 다음 프로그램을 입력하여 페이지를 올리십시오.
dbimage1.height> 0이면
dbimage1.height : = dbimage1.height-4
Yanxiaping 기계의 높이의 속성 값은 작은 곳에서 큰 것으로 변경되어 페이지를 아래쪽으로 돌리는 효과가 달성됩니다. 상단과 왼쪽으로, 높이를 너비로 바꾸면 왼쪽과 오른쪽으로 페이지를 돌리는 효과가 달성됩니다. 왼쪽과 너비가 동시에 변경되면 Timer1의 Ontimer 이벤트에서 그림을 통과하는 수직선으로 그림을 회전시킬 수 있습니다.
절차 tform1.Timer1Timer (Sender : Tobject);
시작하다
상태 = 1 인 경우
그 다음에
dbimage1.width> 0 인 경우
시작하다
// 사진이 점차 작아집니다
dbimage1.left : = dbimage1.left+1;
dbimage1.width : = dbimage1.width-2;
// 너비의 변경 값은 왼쪽의 변경 값의 두 배 여야합니다.
끝
또 다른
상태 : = 2
또 다른
dbimage1.width <250 인 경우
시작하다
dbimage1.left : = dbimage1.left-1;
dbimage1.width : = dbimage1.width+2;
끝
또 다른
상태 : = 1
끝;
위의 프로그램에서, 우리는 이것이 사진을 작게 만들고 점차 더 커지는 것이 하나의 상태 (State = 1)입니다 두 상태가 번갈아 나타납니다. 애니메이션이 나타납니다.
⒋ 얼굴을 가로 질러 점차 (비행)가 움직입니다
제목을 그림을 가로 질러 날게하는 효과가 종종 필요합니다. 이러한 유형의 애니메이션을 구현하려면 제목의 상단 (수직) 또는 왼쪽 속성 (수평으로 비행) 만 변경하면됩니다.
그림에서 왼쪽에서 오른쪽으로 날아가는 제목을 알고 있다면. 먼저 Form1에서 그래픽 객체 dbimage1과 텍스트 객체 staticText1을 만듭니다 (텍스트 유형 객체를 그림에 표시 할 수 없음), 위치와 크기를 설정 한 다음 Form1에서 시간 개체 시간 1을 작성하고 TrueInterval을 설정하도록 설정하십시오. 10에서 10, 및 이벤트에서 다음과 같은 진술을 제공합니다.
절차 tform1.Timer1Timer (발신자 : Tobject);
if staticText1.left <dbimage1.width+dbimage1.left
staticText1..left : = staticText1.left+3
또 다른
staticText1.left : = dbimage1.left;
// 제목이 그림에서 날아가면 제목이 사진의 왼쪽으로 이전하고 왼쪽에서 오른쪽으로 다시 화면을 입력하십시오.
끝;
새를 얻으십시오
1. 제목을 왼쪽에서 오른쪽으로 한 번만 이동하려면 다른 문을 TIMER1로 변경하십시오.
2. 값 3은 제목 이동의 속도 값이며 마음대로 변경 될 수 있습니다.
3. 제목이 그림에서 특정 위치로 이동하면 "staticText1.left <dbimage1.width+dbimage1.left"를 "staticText1.left <위치 값"으로 변경하고 다른 문을 timer1.enabled로 변경합니다. 거짓;
4. 왼쪽 값을 크게 변경 한 다음 오른쪽에서 왼쪽으로 날아갑니다.
5. 수직 애니메이션을 달성하려면 왼쪽을 위로, 너비를 상단으로, 너비를 상단으로 변경하십시오.