Flash ActionScript 3 skalaY for å åpne en konvolutt
Nå som vi har programmert konvoluttklaffen i vår FlashR animasjon for å vises helt åpen over konvolutten når du trykker på frimerkeknappen, vi må avgrense animasjonen for å få det til å se ut som at klaffen sakte åpnes. Dette vil vi gjøre ved å kontrollere to egenskaper til klaffen. Husk at det nyeFlap-objektet er en variabel som refererer til FlapAni-filmklippet i biblioteket. Vi bruker denne varen for å få klaffen til å vises på scenen.

Som en rask gjennomgang, i den siste opplæringen, programmerte vi en funksjon som heter openFlap for å legge til et nyttFlap-objekt i visningslisten. Vi gjorde dette med addChild-koden. Vi angir også startposisjonen for egenskapene newFlap.x og newFlap.y. Dette plasserte bunnen av klaffen i den øverste kanten av konvolutten. Som nevnt før, kan verdiene dine for x- og y-posisjonen på scenen variere avhengig av konvoluttens størrelse og plassering.

Det første vi må gjøre er å eksperimentere for å finne en nyFlap.y-verdi som vil plassere klaffen under den øverste kanten av konvolutten, og derfor ute av syne i begynnelsen av animasjonen. Vi ønsker faktisk at poenget med den trekantede klaffen skal være rett under toppkanten av konvolutten. Mens du eksperimenterer, kan det være lettere å flytte klaffen 100 piksler til høyre ved å sette newFlap.x til 300 (et tillegg på 100). Dette vil gjøre klaffen delvis synlig på høyre side av konvolutten. Etter å ha eksperimentert, fant jeg ut at en newFlap.y-verdi på 200 var det jeg trengte. Dette er vår nye startposisjon for klaffen. Ikke glem å sette newFlap.x-verdien tilbake til den opprinnelige verdien før du går videre til neste trinn.

  1. Vi må endre den eksisterende koden fra forrige opplæring for å gjenspeile den nye newFlap.y-verdien på 200. Test filmen din etter at du har gjort denne endringen, og du skal ikke se klaffen når du klikker på stempelknappen.

    newFlap.y = 200;

    For animasjonen vår, ønsker vi at klaffen sakte beveger seg oppover til over konvolutten. Samtidig må vi skalere klaffen åpen fra en begynnende skalaverdi på null. Ved å starte med skalaen satt til null, kan vi bremse skalaen for å åpne helt. Y-verdien vil flytte klaffen oppover, men det er skalaverdien som vil gjøre at klaffen ser ut til å åpne seg.

  2. Den neste endringen av funksjonen vil være tillegget til koden som vil sette skalaen Y til null og flate klaffen.

    newFlap.scaleY = 0;

    Nå må vi jobbe med den delen av animasjonen som vil åpne klaffen. Det er flere måter å gjøre dette med ActionScript. I denne opplæringen vil vi bruke en Event Listener knyttet til scenen for å kjøre en andre funksjon som vi vil kalle scaleFlap. Vi vil plassere denne andre funksjonen i openFlap-funksjonen.

  3. Under skalaY-koden, la oss legge til Event Listener på scenen. Dette er hva som skal kjøre skalaFlap-funksjonen.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Deretter legger du til den andre funksjonen. Kopier og lim inn denne koden i openFlap-funksjonen.

    funksjonsskalaFlapp (hendelse: Hendelse): ugyldig
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    ellers
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2,9;}
    }


    La oss undersøke koden. Den første if-setningen vil sjekke skalaY-verdien for å se om den er større enn eller lik 1. Tallet 1 representerer en skalaverdi på 100%). Hvis betingelsen er sann, fjerner vi Event Listener og stopper animasjonen.

    Hvis tilstanden er falsk, fortsetter vi animasjonen ved å øke skalaY-verdien med 0,05 og flytte klaffen oppover med en negativ 2,9. (På Flash-scenen beveger vi oss oppover ved å redusere antallverdien på Y-posisjonen.) Dette vil fortsette med hver nye ramme til betingelsen for if-setningen er sann.

    Igjen kan disse tallverdiene være forskjellige for filmen din på grunn av størrelsen på konvolutten og plasseringen av konvolutten din på scenen. Her er den endelige animasjonen.

Copyright 2018 Adobe Systems Incorporated. Alle rettigheter forbeholdt. Adobes produktskjermbilder er skrevet ut på nytt med tillatelse fra 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, Fyrverkeri, Bidra, Captivate, Flash Catalyst og Flash Paper er / er enten [a] registrert varemerke [s] eller et varemerke [s] fra Adobe Systems Incorporated i USA og / eller andre land.