Flash ActionScript 3 skalaY för att öppna ett kuvert
Nu när vi har programmerat kuvertklaffen i vår FlashR animering för att visas helt öppen ovanför kuvertet när man klickar på stämpelknappen, vi måste förfina animationen så att det ser ut som att klaffen sakta öppnas. Vi kommer att göra detta genom att kontrollera två egenskaper hos klaffen. Kom ihåg att det nya objektet är en variabel som refererar till filmklippet FlapAni i biblioteket. Vi använder denna var för att få klaffen att visas på scenen.

Som en snabb genomgång programmerade vi i den sista handledning en funktion som heter openFlap för att lägga till ett nyttFlap-objekt i Display List. Vi gjorde detta med addChild-koden. Vi ställer också in startpositionen för egenskaperna newFlap.x och newFlap.y. Detta placerade botten på klaffen vid kuvertets överkant. Som nämnts tidigare kan dina värden för x- och y-positionen på scenen variera beroende på storlek och plats för kuvertet.

Det första vi behöver göra är att experimentera för att hitta ett nyttFlap.y-värde som kommer att placera klaffen under kuvertets överkant, och därför synlig i början av animeringen. Vi vill faktiskt att den triangulära klaffens punkt ska vara precis under kuvertets övre kant. Medan du experimenterar kan det vara lättare att flytta klaffen 100 pixlar till höger genom att ställa newFlap.x till 300 (ett tillägg på 100). Detta gör att klaffen delvis syns på kuvertets högra sida. Efter att ha experimenterat fann jag att ett nyttFlap.y-värde på 200 var det jag behövde. Detta är vår nya startposition för klaff. Glöm inte att sätta tillbaka värdet newFlap.x till det ursprungliga värdet innan du går vidare till nästa steg.

  1. Vi måste ändra den befintliga koden från den senaste tutorialen för att återspegla vårt nya newFlap.y-värde på 200. Testa din film efter att du har gjort denna ändring och du bör inte se fliken när du klickar på stämpelknappen.

    newFlap.y = 200;

    För vår animering vill vi att klaffen sakta rör sig uppåt till över kuvertet. Samtidigt måste vi skala klaffen öppen från ett initialt skalvärde på noll. Genom att börja med skalan inställd på noll kan vi bromsa skalan på klaffen för att helt öppna. Y-värdet kommer att flytta klaffen uppåt men det är skalvärdet som gör att klaffen verkar öppna.

  2. Nästa ändring av funktionen är tillägg av koden som sätter skalan Y till noll och plattar ut plattan.

    newFlap.scaleY = 0;

    Nu måste vi arbeta med den del av animationen som öppnar klaffen. Det finns flera sätt att göra detta med ActionScript. I den här tutorialen kommer vi att använda en Event Listener kopplad till scenen för att köra en andra funktion som vi kommer att kalla skalaFlap. Vi kommer att placera den andra funktionen i openFlap-funktionen.

  3. Under koden skalaY, låt oss lägga till Event Listener till scenen. Det här är vad som ska köra funktionen skala.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Lägg sedan till den andra funktionen. Kopiera och klistra in den här koden i openFlap-funktionen.

    funktionskalaFlap (händelse: Händelse): ogiltig
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    annan
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2,9;}
    }


    Låt oss undersöka koden. Den första if-satsen kontrollerar skalan Y-värdet för att se om det är större än eller lika med 1. Siffran 1 representerar ett skalvärde på 100%). Om villkoret är sant kommer vi att ta bort Event Listener och stoppa animeringen.

    Om villkoret är felaktigt fortsätter vi animeringen genom att öka skalan Y-värdet med 0,05 och flytta klaffen uppåt med en negativ 2,9. (På Flash-scenen rör vi oss uppåt genom att minska antalet värde på Y-positionen.) Detta fortsätter med varje ny ram tills villkoret för if-uttalandet är sant.

    Återigen kan dessa nummervärden vara olika för din film beroende på storleken på kuvertet och platsen för kuvertet på scenen. Här är den sista animeringen.

Copyright 2018 Adobe Systems Incorporated. Alla rättigheter förbehållna. Adobes produktskärmbild (ar) tryckta om med tillstånd från 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 och Flash Paper är / är antingen [a] registrerat varumärke [s] eller ett varumärke [s] från Adobe Systems Incorporated i USA och / eller andra länder.