Flash ActionScript 3 scaleY om een ​​envelop te openen
Nu we de envelopklep in onze Flash hebben geprogrammeerdR animatie om volledig open boven de envelop te verschijnen wanneer op de stempelknop wordt geklikt, moeten we de animatie verfijnen zodat het lijkt alsof de flap langzaam opent. We zullen dit doen door twee eigenschappen van de klep te besturen. Vergeet niet dat het newFlap-object een variabele is die verwijst naar de FlapAni-filmclip in de bibliotheek. We gebruiken deze var om de flap op het podium te laten verschijnen.

Als een kort overzicht hebben we in de laatste zelfstudie een functie met de naam openFlap geprogrammeerd om een ​​nieuwFlap-object aan de lijst met weergaven toe te voegen. We deden dit met de addChild-code. We hebben ook de beginpositie ingesteld voor de eigenschappen newFlap.x en newFlap.y. Dit plaatste de onderkant van de klep aan de bovenkant van de envelop. Zoals eerder vermeld, kunnen uw waarden voor de x- en y-positie in het werkgebied variëren, afhankelijk van de grootte en locatie van uw envelop.

Het eerste dat we moeten doen, is experimenteren om een ​​nieuwe waarde van de Flap.y te vinden die de flap onder de bovenrand van de envelop plaatst, en daarom uit het zicht aan het begin van de animatie. We willen eigenlijk dat de punt van de driehoekige flap net onder de bovenrand van de envelop ligt. Terwijl u experimenteert, kan het gemakkelijker zijn om de flap 100 pixels naar rechts te verplaatsen door de newFlap.x in te stellen op 300 (een toevoeging van 100). Hierdoor wordt de klep gedeeltelijk zichtbaar aan de rechterkant van de envelop. Na het experimenteren kwam ik erachter dat ik een nieuweFlap.y-waarde van 200 nodig had. Dit is onze nieuwe beginpositie voor de klep. Vergeet niet om de waarde newFlap.x terug te zetten naar de oorspronkelijke waarde voordat u doorgaat naar de volgende stap.

  1. We moeten de bestaande code van de laatste zelfstudie wijzigen om onze nieuwe newFlap.y-waarde van 200 weer te geven. Test je film na deze wijziging en je zou de flap niet moeten zien als je op de stempelknop klikt.

    newFlap.y = 200;

    Voor onze animatie willen we dat de flap langzaam omhoog beweegt tot boven de envelop. Tegelijkertijd moeten we de klep open schalen vanaf een initiële schaalwaarde van nul. Door te beginnen met de schaal ingesteld op nul, kunnen we de klep vertragen om volledig te openen. Met de y-waarde wordt de klep omhoog verplaatst, maar het is de schaalwaarde waardoor de klep lijkt te openen.

  2. De volgende wijziging in de functie is de toevoeging van de code die de schaal Y op nul zet en de klep plat maakt.

    newFlap.scaleY = 0;

    Nu moeten we werken aan het deel van de animatie dat de klep opent. Er zijn verschillende manieren om dit met ActionScript te doen. In deze tutorial zullen we een Event Listener gebruiken die aan het podium is gekoppeld om een ​​tweede functie uit te voeren die we scaleFlap zullen noemen. We zullen deze tweede functie in de openFlap-functie plaatsen.

  3. Laten we onder de scaleY-code de Event-listener aan het podium toevoegen. Dit is wat de functie scaleFlap uitvoert.

    stage.addEventListener (Event.ENTER_FRAME, scaleFlap);

  4. Voeg vervolgens de tweede functie toe. Kopieer en plak deze code in de openFlap-functie.

    functie scaleFlap (gebeurtenis: gebeurtenis): ongeldig
    {
    if (newFlap.scaleY> = 1)
    {stage.removeEventListener (Event.ENTER_FRAME, scaleFlap); }
    anders
    {newFlap.scaleY + =. 05;
    newFlap.y - = 2.9;}
    }


    Laten we de code bekijken. De eerste instructie if controleert de waarde van scaleY om te zien of deze groter is dan of gelijk is aan 1. Het getal 1 vertegenwoordigt een schaalwaarde van 100%). Als de voorwaarde waar is, zullen we de Event-luisteraar verwijderen en de animatie stoppen.

    Als de voorwaarde niet waar is, gaan we door met de animatie door de waarde voor scaleY met 0,05 te verhogen en de flap omhoog te bewegen met een negatieve 2.9. (In het Flash-stadium gaan we omhoog door de getalswaarde van de Y-positie te verlagen.) Dit gaat door met elk nieuw frame totdat de voorwaarde voor de instructie if waar is.

    Nogmaals, deze getalwaarden kunnen voor uw film verschillen vanwege de grootte van uw envelop en de locatie van uw envelop op het podium. Hier is de laatste animatie.

Copyright 2018 Adobe Systems Incorporated. Alle rechten voorbehouden. Schermafbeeldingen van Adobe-producten herdrukt met toestemming van 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 en Flash Paper is / zijn ofwel [a] geregistreerde handelsmerken [s] of een handelsmerk [s] van Adobe Systems Incorporated in de Verenigde Staten en / of andere landen.