Alle Objekte in Delphi liefern vier Attribute: Obere, linke, Höhe und Breite, um die Position und Größe des Objekts zu steuern;
Bogen ⒗ Vorhang
Die Predigt von Vorhang zeigt den Bildschirm langsam von der Mitte bis zu beiden Seiten an. Setzen Sie hier die Mitte -Eigenschaft von DBIMage1 auf True. Stellen Sie die Breite Eigenschaft auf 0 und setzen Sie den Wert von links angemessen, damit sie in der Mitte des Bildschirms angezeigt wird. Die Hauptmethode zur Implementierung der Animation besteht darin, das linke Attribut zu ändern (der Wert wird allmählich kleiner) und das Breitenattribut (der Wert wird allmählich größer). Der Weitänderungswert muss der linke Änderungswert 2 -mal sein. Geben Sie die folgende Erklärung im On -Time -Ereignis von Dimeer1 ein:
if (dbimage1.left> 0) dann
Beginnen
dbimage1.left: = dbimage1.left-1;
dbimage1.width: = dbimage1.width+2;
// Der Änderungswert von dbimage1.width muss das 2 -fache des Änderungswerts von dbimage1.left betragen
Ende
anders
Timer1.Enabled: = false; // beenden.
Wechseln Sie im obigen Programm nach links nach oben und breit in die Höhe, um ein vertikales Vorhang zu erreichen. Wenn der Effekt des Ziehens des Vorhangs auf das Texttyp -Objekt angewendet wird, ist das Bild sehr gut.
,Akkordeon
Bei der Animation des Augen-Shijing wird der Bildschirm beim Anzeigen des gesamten Bildschirms langsam von beiden Seiten bis zur Mitte blockiert und fährt weiterhin, wie ein Akkordeon. Bei der Implementierung muss ein variabler Zustand hinzugefügt werden, um den Status zu diesem Zeitpunkt anzuzeigen. Die spezifischen Verfahren sind wie folgt:
procedure tform1.timer1timer (Absender: tobject);
Beginnen
Wenn Status = 1 dann
if (dbimage1.left> 0) dann
Beginnen
dbimage1.left: = dbimage1.left-1
dbimage1.width: = dbimage1.width+2
Ende
anders
// Wenn der Bildschirm vollständig geöffnet ist, ändern Sie die Statusvariable
Zustand: = 2
sonst // von beiden Seiten in die Mitte ziehen
Wenn dbimage1.left <form1.width div 2 dann dann
Beginnen
dbimage1.left: = dbimage1.left+1;
dbimage1.width: = dbimage1.width-2;
Ende
anders
// Wenn der Bildschirm schließt, ändern Sie die Statusvariable
Zustand: = 1;
Ende;
, Zauntyp
Die Oberfläche wird zunächst durch vertikale Zäune blockiert, und dann eng die Zäune allmählich, und das Bild geteilt durch die Zäune wird allmählich abgeschlossen. In dieser Animation wird die Rolle des Zauns als Objekt des Statictext -Typs (der Bildschirm zeigt mehrere Zäune an und erfordert mehrere Statictext -Objekte). Ändern Sie einfach die linken und Breiteneigenschaften des Objekts des Statictext -Typs (links wird allmählich größer und wird allmählich kleiner).
Wenn st1.width> 0 dann // st1 ein Objekt vom Typ Stactictext ist
Beginnen
ST1.WIDTH: = ST1.WIDTH-2;
st1.left: = st1.left+1;
Ende
anders
// wieder laufen
Beginnen
ST1.WIDTH: = 40; // Breite und links werden durch die tatsächliche Situation bestimmt
st1.left: = 40;
Ende;
Ordnen Sie die Zäune horizontal an, wechseln Sie nach oben und weiten Sie die Breite bis zur Höhe.
G⒎ Seite
Der Effekt der Wiederaufnahme des Übergangs besteht tatsächlich darin, den Top -Wert zu beheben, den Höhenwert zu ändern und den Dehnungswert auf True zu setzen. Geben Sie das folgende Programm in das Time -Ereignis von Timer1 ein, um die Seiten aufzubauen:
Wenn dbimage1.height> 0 dann
dbimage1.Height: = dbimage1.Height-4
Der Attributwert der Höhe der Yanxiaping -Maschinen ändert sich von klein zu groß, so dass der Effekt des Abdrehens von Seiten nach unten erreicht wird. Wenn Sie oben nach links und zur Höhe von Breite wechseln, werden Sie den Effekt des Links und rechts von Seiten erzielen. Wenn links und die Breite gleichzeitig geändert werden, kann das Bild mit einer vertikalen Linie durch das Bild als Achse gedreht werden.
procedure tform1.timer1timer (Absender: tobject);
Beginnen
Wenn Zustand = 1
Dann
Wenn dbimage1.width> 0 dann
Beginnen
// Das Bild wird allmählich kleiner
dbimage1.left: = dbimage1.left+1;
dbimage1.width: = dbimage1.width-2;
// Der Änderungswert der Breite muss doppelt so hoch sein wie der Änderungswert von links
Ende
anders
Zustand: = 2
anders
Wenn dbimage1.width <250 dann
Beginnen
dbimage1.left: = dbimage1.left-1;
dbimage1.width: = dbimage1.width+2;
Ende
anders
Zustand: = 1
Ende;
Aus dem obigen Programm können wir sehen, dass dies das Bild kleiner wird und dann allmählich größer wird Zwei Zustände erscheinen abwechselnd.
⒋Ping wird allmählich (fliegen) über das Gesicht bewegt
Der Effekt, den Titel über das Bild fliegen zu lassen, wird häufig benötigt. Um diese Art von Animation zu implementieren, müssen Sie nur das obere (vertikal fliegende Fliegen) oder das linke Attribut (horizontal fliegen) ändern.
Wenn Sie feststellen, dass ein Titel auf einem Gemälde von links nach rechts fliegt. Erstellen Sie zunächst ein Grafikobjekt DBIMage1 und ein Textobjektstatictext1 in Form1 (Beachten Sie, dass die Objekte von Texttypen im Bild nicht angezeigt werden können), setzen Eigenschaft zu 10;
procedure tform1.timer1timer (Absender: tobject);
Wenn statictext1.left <dbimage1.width+dbimage1.left dann
statictext1..left: = Statictext1.left+3
anders
statictext1.left: = dbimage1.left;
// Wenn der Titel aus dem Bild fliegt, den Titel links vom Bild verlagert und den Bildschirm von links nach rechts eingeben
Ende;
Holen Sie sich einen Vogel
1. Wenn Sie den Titel nur einmal von links nach rechts verschieben möchten, ändern Sie die else -Anweisung in Timer1.Enabled: = false;
2. Der Wert 3 ist der Geschwindigkeitswert der Titelbewegung und kann nach Belieben geändert werden.
3. Wenn der Titel in eine bestimmte Position im Bild verschoben wird, ändern Sie "statictext1.left <dbimage1.width+dbimage1.left" in "Statictext1.left <Positionswert" und ändern Sie die else -Anweisung in Timer1.Enabled: = FALSCH;
4. Ändern Sie einfach den Wert von links von groß nach klein und fliegen Sie dann von rechts nach links.
5. Ändern Sie die links oben nach oben und die Breite in die Höhe, um vertikale Animation zu erreichen.