Flash ActionScript 3 scaleY zum Öffnen eines Umschlags
Nachdem wir die Umschlagklappe in unserem Flash programmiert habenR. Wenn die Animation beim Klicken auf die Stempelschaltfläche vollständig über dem Umschlag angezeigt wird, müssen Sie die Animation verfeinern, damit der Eindruck entsteht, dass sich die Klappe langsam öffnet. Wir werden dies tun, indem wir zwei Eigenschaften der Klappe steuern. Denken Sie daran, dass das newFlap-Objekt eine Variable ist, die auf den FlapAni-Movieclip in der Bibliothek verweist. Wir verwenden diese Variable, um die Klappe auf der Bühne erscheinen zu lassen.

Als kurze Übersicht haben wir im letzten Tutorial eine Funktion namens openFlap programmiert, um der Anzeigeliste ein neuesFlap-Objekt hinzuzufügen. Wir haben dies mit dem addChild-Code gemacht. Wir legen auch die Anfangsposition für die Eigenschaften newFlap.x und newFlap.y fest. Dadurch wurde die Unterseite der Klappe am oberen Rand des Umschlags platziert. Wie bereits erwähnt, können Ihre Werte für die x- und y-Position auf der Bühne je nach Größe und Position Ihres Umschlags variieren.

Das erste, was wir tun müssen, ist zu experimentieren, um einen neuenFlap.y-Wert zu finden, der die Klappe unter dem oberen Rand des Umschlags platziert und daher zu Beginn der Animation außer Sichtweite ist. Tatsächlich möchten wir, dass der Punkt der dreieckigen Klappe direkt unter der Oberkante des Umschlags liegt. Während Sie experimentieren, ist es möglicherweise einfacher, die Klappe um 100 Pixel nach rechts zu verschieben, indem Sie newFlap.x auf 300 setzen (eine Addition von 100). Dadurch wird die Klappe auf der rechten Seite des Umschlags teilweise sichtbar. Nach dem Experimentieren stellte ich fest, dass ein newFlap.y-Wert von 200 das war, was ich brauchte. Dies ist unsere neue Ausgangsposition für die Klappe. Vergessen Sie nicht, den Wert von newFlap.x auf den ursprünglichen Wert zurückzusetzen, bevor Sie mit dem nächsten Schritt fortfahren.

  1. Wir müssen den vorhandenen Code aus dem letzten Tutorial ändern, um unseren neuen newFlap.y-Wert von 200 wiederzugeben. Testen Sie Ihren Film nach dieser Änderung, und Sie sollten die Klappe nicht sehen, wenn Sie auf die Stempelschaltfläche klicken.

    newFlap.y = 200;

    Für unsere Animation möchten wir, dass sich die Klappe langsam nach oben bis über den Umschlag bewegt. Gleichzeitig müssen wir die geöffnete Klappe von einem anfänglichen Skalierungswert von Null skalieren. Wenn Sie mit der auf Null eingestellten Skala beginnen, können Sie die Skalierung der Klappe verlangsamen, bis sie vollständig geöffnet ist. Der y-Wert bewegt die Klappe nach oben, aber es ist der Skalierungswert, der die Klappe zu öffnen scheint.

  2. Die nächste Änderung an der Funktion ist das Hinzufügen des Codes, der die Skala Y auf Null setzt und die Klappe abflacht.

    newFlap.scaleY = 0;

    Jetzt müssen wir an dem Teil der Animation arbeiten, der die Klappe öffnet. Es gibt verschiedene Möglichkeiten, dies mit ActionScript zu tun. In diesem Tutorial verwenden wir einen an die Bühne angehängten Ereignis-Listener, um eine zweite Funktion auszuführen, die wir scaleFlap nennen. Wir werden diese zweite Funktion in die openFlap-Funktion einfügen.

  3. Fügen wir unter dem scaleY-Code den Event Listener zur Bühne hinzu. Dies ist, was die scaleFlap-Funktion ausführen wird.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Fügen Sie als nächstes die zweite Funktion hinzu. Kopieren Sie diesen Code und fügen Sie ihn in die openFlap-Funktion ein.

    Funktion scaleFlap (Ereignis: Ereignis): void
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }}
    sonst
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2.9;}
    }


    Lassen Sie uns den Code untersuchen. Die erste if-Anweisung überprüft den scaleY-Wert, um festzustellen, ob er größer oder gleich 1 ist. Die Zahl 1 steht für einen Skalierungswert von 100%. Wenn die Bedingung erfüllt ist, entfernen wir den Ereignis-Listener und stoppen die Animation.

    Wenn die Bedingung falsch ist, setzen wir die Animation fort, indem wir den scaleY-Wert um 0,05 erhöhen und die Klappe um negative 2,9 nach oben bewegen. (Auf der Flash-Stufe bewegen wir uns nach oben, indem wir den Zahlenwert der Y-Position verringern.) Dies wird mit jedem neuen Frame fortgesetzt, bis die Bedingung für die if-Anweisung erfüllt ist.

    Auch diese Zahlenwerte können für Ihren Film aufgrund der Größe Ihres Umschlags und der Position Ihres Umschlags auf der Bühne unterschiedlich sein. Hier ist die letzte Animation.

Copyright 2018 Adobe Systems Incorporated. Alle Rechte vorbehalten. Screenshots von Adobe-Produkten mit Genehmigung von Adobe Systems Incorporated. Adobe, Photoshop, Photoshop-Album, Photoshop-Elemente, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere-Elemente, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst und Flash Paper ist / sind entweder [eine] eingetragene Marke (n) oder eine Marke (n) von Adobe Systems Incorporated in den USA und / oder anderen Ländern.


Video-Anleitungen: 8. Propiedades width, height, scaleX, scaleY | Hacer Juegos en AS3 Animate (Flash) (November 2021).