Flash ActionScript 3 lestvicaY za odpiranje ovojnice
Zdaj, ko smo sprogramirali loputo ovojnice v našem Flash-uR animacija, da se ob kliku gumba za žig prikaže popolnoma odprto nad ovojnico, moramo izboljšati animacijo, da se zdi, da se loputa počasi odpira. To bomo naredili z nadzorom dveh lastnosti lopute. Ne pozabite, da je objekt newFlap spremenljivka, ki sklicuje posnetek filma FlapAni v knjižnici. Uporabljamo to var, da se loputa pojavi na odru.

V kratkem pregledu smo v zadnjem tutorialu programirali funkcijo, imenovano openFlap, da na seznam prikazov dodamo nov objektFFlap. To smo storili s kodo addChild. Nastavili smo tudi začetni položaj za lastnosti novihFlap.x in newFlap.y. To je postavilo dno lopute na zgornji rob ovojnice. Kot smo že omenili, se lahko vaše vrednosti za položaj x in y na odru razlikujejo glede na velikost in lokacijo ovojnice.

Prva stvar, ki jo moramo narediti, je eksperimentirati, da bomo našli novo vrednost FFlap.y, ki bo loputo postavila pod zgornji rob ovojnice in zato na začetku animacije izven pogleda. Pravzaprav želimo, da je točka trikotne lopute tik pod zgornjim robom ovojnice. Medtem ko eksperimentirate, je morda lažje premakniti loputo 100 slikovnih pik v desno, če nastavite newFlap.x na 300 (dodatek 100). Tako bo loputa delno vidna na desni strani ovojnice. Po eksperimentu sem ugotovil, da potrebujem novo vrednost NewFlap.y 200. To je naš novi začetni položaj lopute. Ne pozabite vrniti vrednosti newFlap.x nazaj na prvotno vrednost, preden nadaljujete na naslednji korak.

  1. Moramo spremeniti obstoječo kodo iz zadnjega tutorialja, da bo odražala našo novo vrednost NewFlap.y 200. Ko preizkusite ta film, preizkusite svoj film in pri kliku gumba ne smete videti lopute.

    novFlap.y = 200;

    Za našo animacijo želimo, da se loputa počasi premakne navzgor nad ovojnico. Hkrati bomo morali odpreti lestvico odprto od začetne vrednosti lestvice nič. Z začetkom merila, nastavljenega na nič, lahko upočasnimo, da se loputa popolnoma odpre. Vrednost y bo loputo premaknila navzgor, vendar bo videti, da bo loputa odprta.

  2. Naslednja sprememba funkcije bo dodajanje kode, ki bo merilo Y postavila na nič in poravnala loputo.

    newFlap.scaleY = 0;

    Zdaj moramo delati na delu animacije, ki bo odprl loputo. Obstaja več načinov, kako to storiti z ActionScriptom. V tej vadnici bomo s poslušalcem dogodkov, ki je pritrjen na oder, uporabili drugo funkcijo, ki jo bomo imenovali scaleFlap. To drugo funkcijo bomo postavili znotraj funkcije openFlap.

  3. Pod kodo scaleY na oder dodamo poslušalca dogodkov. To je tisto, kar bo izvajalo funkcijo scaleFlap.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Nato dodajte drugo funkcijo. Kopirajte in prilepite to kodo v funkcijo openFlap.

    funkcijska lestvicaFlap (dogodek: Dogodek): nična
    {
    če (novoFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    drugače
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2,9;}
    }


    Preučimo kodo. Prvi, če stavek preveri vrednost scaleY, da ugotovi, ali je večja ali enaka 1. Številka 1 predstavlja vrednost lestvice 100%). Če je pogoj resničen, odstranimo poslušalca dogodkov in animacijo ustavimo.

    Če je pogoj napačen, bomo animacijo nadaljevali s povečanjem vrednosti scaleY za 0,05 in pomaknili loput navzgor za negativne 2,9. (Na stopnji Flash se pomaknemo navzgor tako, da zmanjšamo vrednost števila položaja Y.) To se bo nadaljevalo z vsakim novim okvirom, dokler ni pogoj za stavek if.

    Ponovno se lahko te številčne vrednosti za vaš film razlikujejo zaradi velikosti ovojnice in lokacije ovojnice na odru. Tu je zadnja animacija.

Avtorske pravice 2018 Adobe Systems Incorporated. Vse pravice pridržane. Posnetki zaslona izdelkov Adobe so bili ponatisnjeni z dovoljenjem 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, Prispevaj, Captivate, Flash Catalyst in Flash Paper so ali so [a] registrirana blagovna znamka (-e) ali blagovna znamka Adobe Systems Incorporated v Združenih državah Amerike in / ali drugih državah.