วัตถุทั้งหมดใน Delphi มีคุณสมบัติสี่อย่าง: ด้านบนซ้ายความสูงและความกว้างเพื่อควบคุมตำแหน่งและขนาดของวัตถุ;
ส่วนโค้ง⒗ม่าน
คำเทศนาม่านจะค่อยๆแสดงหน้าจอจากตรงกลางถึงทั้งสองด้าน ที่นี่ตั้งค่าคุณสมบัติกลางของ dbimage1 เป็น TRUE; ตั้งค่าคุณสมบัติความกว้างเป็น 0 และตั้งค่าของซ้ายอย่างเหมาะสมเพื่อให้มันปรากฏอยู่ตรงกลางของหน้าจอ วิธีการหลักในการใช้แอนิเมชั่นคือการปรับเปลี่ยนแอตทริบิวต์ด้านซ้าย (ค่าค่อยๆกลายเป็นขนาดเล็กลง) และแอตทริบิวต์ความกว้าง (ค่าค่อยๆกลายเป็นใหญ่ขึ้น) ค่าการเปลี่ยนแปลงความกว้างจะต้องเป็นค่าการเปลี่ยนแปลงซ้าย 2 ครั้ง ป้อนคำสั่งต่อไปนี้ในเหตุการณ์ OnTime ของ Dimeer1:
ถ้า (dbimage1.left> 0) จากนั้น
เริ่ม
dbimage1.left: = dbimage1.left-1;
dbimage1.width: = dbimage1.width+2;
// ค่าการเปลี่ยนแปลงของ dbimage1.width ต้องเป็น 2 เท่าของค่าการเปลี่ยนแปลงของ dbimage1.left
จบ
อื่น
timer1.enabled: = false; // ใช้เวลาจบ
เปลี่ยนไปในโปรแกรมข้างต้นไปด้านบนและความกว้างถึงความสูงเพื่อให้ได้การดึงม่านแนวตั้ง หากผลของการดึงม่านถูกนำไปใช้กับวัตถุประเภทข้อความภาพจะดีมาก
,หีบเพลง
ในแอนิเมชั่นของ Eye-shijing เมื่อหน้าจอทั้งหมดปรากฏขึ้นหน้าจอจะถูกปิดกั้นอย่างช้าๆจากทั้งสองด้านถึงตรงกลางและมันยังคงหมุนเวียนเช่นเล่นหีบเพลง เมื่อนำไปใช้ต้องมีการเพิ่มสถานะตัวแปรเพื่อระบุสถานะในเวลานี้ ขั้นตอนเฉพาะมีดังนี้:
ขั้นตอน tform1.timer1timer (ผู้ส่ง: tobject);
เริ่ม
ถ้าสถานะ = 1 แล้ว
ถ้า (dbimage1.left> 0) จากนั้น
เริ่ม
dbimage1.left: = dbimage1.left-1
dbimage1.width: = dbimage1.width+2
จบ
อื่น
// เมื่อหน้าจอเปิดอย่างสมบูรณ์ให้เปลี่ยนตัวแปรสถานะ
สถานะ: = 2
อื่น // ดึงจากทั้งสองด้านไปตรงกลาง
ถ้า dbimage1.left <form1.width div 2 แล้ว
เริ่ม
dbimage1.left: = dbimage1.left+1;
dbimage1.width: = dbimage1.width-2;
จบ
อื่น
// เมื่อหน้าจอปิดให้เปลี่ยนตัวแปรสถานะ
สถานะ: = 1;
จบ;
ประเภทรั้ว
พื้นผิวถูกบล็อกในขั้นต้นโดยรั้วแนวตั้งและจากนั้นรั้วจะค่อยๆแคบลงและภาพหารด้วยรั้วค่อยๆค่อยๆสมบูรณ์ ในภาพเคลื่อนไหวนี้บทบาทของรั้วนั้นทำหน้าที่เป็นวัตถุของประเภท StaticText (หน้าจอแสดงรั้วหลายตัวและต้องใช้วัตถุ StaticText หลายชิ้น) เพียงเปลี่ยนคุณสมบัติด้านซ้ายและความกว้างของวัตถุประเภท StaticText (ซ้ายค่อยๆกลายเป็นขนาดใหญ่ขึ้นและความกว้างค่อยๆกลายเป็นขนาดเล็กลง)
ถ้า st1.width> 0 แล้ว // st1 เป็นวัตถุประเภท stactictext
เริ่ม
ST1.Width: = St1.width-2;
st1.left: = st1.left+1;
จบ
อื่น
// วิ่งอีกครั้ง
เริ่ม
ST1.width: = 40;
st1.left: = 40;
จบ;
จัดเรียงรั้วด้านบนในแนวนอนเปลี่ยนไปทางด้านบนและความกว้างถึงความสูงซึ่งจะกลายเป็นเอฟเฟกต์ของหน้าต่างร้อยหน้า
หน้าG⒎
ผลของการกลับมาเปลี่ยนการเปลี่ยนแปลงเป็นจริงเพื่อแก้ไขค่าสูงสุดเปลี่ยนค่าความสูงและตั้งค่าการยืดเป็นจริง พิมพ์โปรแกรมต่อไปนี้ในเหตุการณ์ OnTime of Timer1 เพื่อเปิดหน้า:
ถ้า dbimage1.height> 0 แล้ว
dbimage1.height: = dbimage1.height-4
ค่าแอตทริบิวต์ของความสูงของเครื่องจักรยาเสพติดเปลี่ยนจากขนาดเล็กไปเป็นขนาดใหญ่เพื่อให้ผลของการเปลี่ยนหน้าลง หากคุณเปลี่ยนจากบนเป็นซ้ายและความสูงเป็นความกว้างคุณจะได้รับผลกระทบจากการเลี้ยวซ้ายและขวา หากมีการเปลี่ยนแปลงซ้ายและความกว้างในเวลาเดียวกันรูปภาพสามารถหมุนได้ด้วยเส้นแนวตั้งที่ผ่านรูปภาพเป็นแกน
ขั้นตอน tform1.timer1timer (ผู้ส่ง: 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
จบ;
จากโปรแกรมข้างต้นเราจะเห็นว่านี่คือการทำให้ภาพเล็กลงและค่อยๆเติบโตขึ้นเพื่อให้เล็กลงเป็นหนึ่งสถานะ (สถานะ = 1) และทำให้แคบลงเป็นรัฐอื่น (รัฐ = 2) สองรัฐปรากฏขึ้นสลับกัน
⒋ปิงค่อยๆขยับ (บิน) ข้ามใบหน้า
ผลกระทบของการปล่อยให้ชื่อบินผ่านภาพมักจะเป็นสิ่งจำเป็น ในการใช้แอนิเมชั่นประเภทนี้คุณจะต้องเปลี่ยนแอตทริบิวต์ด้านบนของชื่อ (บินในแนวตั้ง) หรือแอตทริบิวต์ซ้าย (บินในแนวนอน)
หากคุณรู้ว่าชื่อที่บินจากซ้ายไปขวาบนภาพวาด ก่อนอื่นสร้างวัตถุกราฟิก dbimage1 และวัตถุข้อความ StaticText1 ใน Form1 (โปรดทราบว่าวัตถุประเภทข้อความไม่สามารถแสดงบนรูปภาพได้) ตั้งตำแหน่งและขนาดจากนั้นสร้างเวลาวัตถุเวลา 1 ในรูปแบบ 1 ให้ตั้งค่าคุณสมบัติที่เปิดใช้งาน ทรัพย์สินถึง 10;
ขั้นตอน tform1.timer1timer (ผู้ส่ง: tobject);
ถ้า StaticText1.left <dbimage1.width+dbimage1.left แล้ว
StaticText1..Left: = StaticText1.Left+3
อื่น
StaticText1.left: = dbimage1.left;
// เมื่อชื่อบินออกจากภาพให้ชื่อย้ายไปทางซ้ายของรูปภาพและเข้าสู่หน้าจอจากซ้ายไปขวาอีกครั้ง
จบ;
รับนก
1. หากคุณต้องการย้ายชื่อจากซ้ายไปขวาเพียงครั้งเดียวให้เปลี่ยนคำสั่งอื่นเป็น timer1.enabled: = false;
2. ค่า 3 คือค่าความเร็วของการเคลื่อนไหวของชื่อเรื่องและสามารถเปลี่ยนแปลงได้ตามต้องการ
3. หากชื่อถูกย้ายไปยังตำแหน่งที่แน่นอนในรูปภาพให้เปลี่ยน "StaticText1.left <dbimage1.width+dbimage1.left" เป็น "StaticText1.left <ค่าตำแหน่ง" และเปลี่ยนคำสั่งอื่นเป็น timer1.enabled: = = เท็จ;
4. เพียงแค่เปลี่ยนค่าซ้ายจากขนาดใหญ่เป็นเล็กแล้วบินจากขวาไปซ้าย
5. เปลี่ยนซ้ายด้านบนไปด้านบนและความกว้างเป็นความสูงเพื่อให้ได้ภาพเคลื่อนไหวแนวตั้ง