Flash ActionScript 3 scaleY pentru a deschide un plic
Acum că am programat clapeta plicului în blițul nostruR animația să apară complet deschisă deasupra plicului când faceți clic pe butonul ștampilă, trebuie să perfecționăm animația pentru a face să pară că clapeta se deschide încet. Vom face acest lucru controlând două proprietăți ale clapetei. Nu uitați, obiectul newFlap este o variabilă care face referire la clipul de film FlapAni din bibliotecă. Folosim acest var pentru a face clapeta să apară pe scenă.

Ca o recenzie rapidă, în ultimul tutorial, am programat o funcție numită openFlap pentru a adăuga un obiect NewFlap în Lista de afișare. Am făcut acest lucru cu codul addChild. De asemenea, am stabilit poziția inițială pentru proprietățile newFlap.x și newFlap.y. Aceasta a așezat partea inferioară a clapetei la marginea superioară a plicului. După cum am menționat anterior, valorile dvs. pentru poziția x și y pe scenă pot varia în funcție de dimensiunea și locația plicului.

Primul lucru pe care trebuie să-l facem este să experimentăm pentru a găsi o valoare newFlap.y care va așeza clapeta sub marginea superioară a plicului și, prin urmare, la vedere la începutul animației. De fapt, dorim ca punctul clapetei triunghiulare să fie chiar sub marginea superioară a plicului. În timp ce experimentați, poate fi mai ușor să mutați clapeta 100 pixeli spre dreapta, setând newFlap.x la 300 (o adăugare de 100). Acest lucru va face clapeta parțial vizibilă în partea dreaptă a plicului. După experimentare, am descoperit că o valoare newFlap.y de 200 era ceea ce aveam nevoie. Aceasta este noua noastră poziție inițială pentru clapă. Nu uitați să repuneți valoarea newFlap.x la valoarea inițială înainte de a trece la pasul următor.

  1. Trebuie să schimbăm codul existent din ultimul tutorial pentru a reflecta noua noastră valoare NewFlap.y de 200. Testează-ți filmul după ce faci această modificare și nu ar trebui să vezi clapeta când faci clic pe butonul de ștampilă.

    newFlap.y = 200;

    Pentru animația noastră, dorim ca clapeta să se deplaseze încet în sus, deasupra plicului. În același timp, va trebui să scalăm clapeta deschisă de la o valoare inițială a scării zero. Începând cu scara setată la zero, putem încetinirea scării clapetei pentru a se deschide complet. Valoarea y va muta clapeta în sus, dar valoarea scării va face ca clapeta să se deschidă.

  2. Următoarea modificare a funcției va fi adăugarea codului care va seta scala Y la zero și va aplana clapeta.

    newFlap.scaleY = 0;

    Acum trebuie să lucrăm la partea de animație care va deschide clapeta. Există mai multe moduri de a face acest lucru cu ActionScript. În acest tutorial, vom folosi un ascultător de eveniment atașat la scenă pentru a rula o a doua funcție pe care o vom numi scaleFlap. Vom plasa această a doua funcție în cadrul funcției openFlap.

  3. Sub cod scaleY, să adăugăm Ascultătorul de evenimente pe scenă. Aceasta este ceea ce va rula funcția scaleFlap.

    stage.addEventListener (Eveniment.ENTER_FRAME, scaleFlap);

  4. Apoi, adăugați a doua funcție. Copiați și lipiți acest cod în funcția openFlap.

    function scaleFlap (eveniment: Eveniment): nul
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Eveniment.ENTER_FRAME, scaleFlap); }
    altfel
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2.9;}
    }


    Să examinăm codul. Prima instrucțiune if va verifica valoarea scaleiY pentru a vedea dacă aceasta este mai mare sau egală cu 1. Numărul 1 reprezintă o valoare a scării de 100%). Dacă starea este adevărată, vom elimina Ascultătorul de evenimente și vom opri animația.

    Dacă starea este falsă, vom continua animația, mărind valoarea scaleiY cu .05 și mutând clapeta în sus cu un negativ 2.9. (Pe stadiul de bliț, ne deplasăm în sus, prin scăderea valorii numerice a poziției Y.) Aceasta va continua cu fiecare nou cadru până când condiția pentru afirmația if este adevărată.

    Din nou, aceste valori de număr pot fi diferite pentru filmul dvs., datorită dimensiunii plicului și a locației plicului pe scenă. Iată animația finală.

Copyright 2018 Adobe Systems Incorporated. Toate drepturile rezervate. Captura (ecranele) de produs Adobe tipărite cu permisiunea Adobe Systems Incorporated. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst și Flash Paper este / sunt [o] marcă înregistrată [sau] sau o marcă comercială a Adobe Systems Incorporated în Statele Unite și / sau în alte țări.