ActionScript voor luscode
In onze eerste flitsR deeltje systeem sneeuw scène tutorial, we hebben geleerd hoe we een modulaire functie en functieaanroep gebruiken die in ActionScript is geschreven om meer dan één instantie van dezelfde filmclip te animeren. Dit was een zeer eenvoudige manier om deze veel voorkomende taak in Flash uit te voeren. In deze tweede tutorial kijken we naar meer programmeerterminologie. We bespreken codelussen en hoe deze kunnen worden gebruikt om een ​​taak zo vaak als u wilt uit te voeren.

Op dit punt hebben we ons SnowScene1.fla-bestand dat drie lagen in de tijdlijn bevat. De achtergrondlaag bevat de achtergrondafbeelding. De volgende laag, Snowflakes genoemd, bevat drie exemplaren van de mcSnowflake-filmclip uit de bibliotheek. De bovenste laag is de laag Acties waar we ons ActionScript hebben.

Maar drie sneeuwvlokken zijn niet genoeg voor onze sneeuwscène. We hebben nog veel meer exemplaren van de mcSnowflake-filmclip nodig om de indruk te wekken dat het sneeuwt in onze scène. We kunnen exemplaren uit de bibliotheek blijven slepen en elk een unieke exemplaarnaam in de eigenschappencontrole geven. Er is echter een betere en efficiëntere manier om dit te doen met ActionScript.

Als u wilt dat uw code dezelfde taak vaak herhaalt, kunt u een codelus schrijven in ActionScript. Kortom, dit is een codeblok dat een incrementele teller gebruikt om het aantal instanties te tellen dat aan de fase wordt toegevoegd. We zullen Flash vervolgens vertellen deze taak te herhalen of te herhalen totdat een bepaald aantal is bereikt.

Eerst moeten we enkele wijzigingen aanbrengen in onze SnowScene1.fla Flash-film. Open het bestand in Flash.

  1. De eerste wijziging die we moeten aanbrengen, is het verwijderen van de drie sneeuwvlokken van boven het podium. Omdat ze zich in de laag Sneeuwvlokken bevinden, kunnen we deze laag eenvoudig verwijderen. Klik op de laag Sneeuwvlokken in de tijdlijn en klik vervolgens op het pictogram Laag verwijderen.

  2. De tweede wijziging is het verwijderen van de oude ActionScript-code uit de laag Acties en het deelvenster Handelingen. Klik op frame 1 in de actielaag en open vervolgens het actiepaneel. Markeer en verwijder alle code in het deelvenster Handelingen.

Nu zijn we klaar om onze nieuwe versie van de sneeuwscène te bouwen. Omdat we de drie sneeuwvlokken van boven het podium hebben verwijderd, hebben we geen exemplaren meer van onze mcSnowflake-filmclip op het podium. Daarom moeten we een nieuwe manier vinden om de filmclip zo in te stellen dat deze door ActionScript wordt bestuurd. We zullen Linkage gebruiken om aan te geven dat het mcSnowflake-symbool tijdens runtime voor ActionScript wordt geëxporteerd. Dit is gewoon een mooie manier om Flash te vertellen dat deze filmclip die in de bibliotheek is opgeslagen, in onze film moet worden gebruikt.

  1. Ga naar het bibliotheekpaneel en klik met de rechtermuisknop op de mcSnowflake-filmclip. Kies Koppeling in het pop-upmenu. Klik in het dialoogvenster Koppelingseigenschappen op het selectievakje naast Exporteren voor ActionScript. Je zult zien dat mcSnowflake al is ingevoerd als de naam voor onze nieuwe klasse. Behoud de standaardinstellingen en klik op OK. Flash vraagt ​​of u een definitie voor onze nieuwe klasse wilt maken. Klik OK.

  2. Nu zijn we klaar om ons nieuwe ActionScript toe te voegen. Typ het volgende in het deelvenster Handelingen.

    var _Snowflake: mcSnowflake;

    voor (var i: Number = 0; i <10; i ++)
    {
    _Snowflake = nieuw mcSnowflake ();
    addChild (_Snowflake);
    _Snowflake.x = i * 50;
    }



Laten we elke coderegel eens bekijken.

Volgende →

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.