Bygga program med ActionScript

Processen med att skriva ActionScript för att bygga ett program innebär mer än att känna till syntax och namn på de klasser som ska användas. Merparten av dokumentationen för Flash Platform behandlar de områdena (syntax och användning av ActionScript-klasser). Om du vill bygga ett ActionScript-program behöver du emellertid också känna till lite om bland annat följande:

  • Vilka program kan användas för att skriva ActionScript?

  • Hur ordnar jag ActionScript-koden?

  • Hur inkluderar jag ActionScript-kod i ett program?

  • Vilka steg ska jag utföra när jag utvecklar ett ActionScript-program?

Alternativ för att organisera koden

Du kan använda ActionScript 3.0-kod för att driva allt från enkla grafikanimeringar till komplicerade transaktionsbearbetningssystem för klient-server. Beroende på vilken typ av program du bygger kan du använda dig av ett eller flera av dessa sätt för att inkludera ActionScript i projektet.

Lagra kod i bildrutor i en Flash Professional-tidslinje

I Flash Professional kan du lägga till ActionScript-kod i vilken bildruta som helst i tidslinjen. Koden körs när filmen spelas upp, när spelhuvudet kommer till den aktuella bildrutan.

Ett enkelt sätt att lägga till beteende i program som byggs i Flash Professional är att placera ActionScript-kod i bildrutor. Du kan lägga till kod i vilken bildruta som helst i huvudtidslinjen eller i en bildruta i tidslinjen för en MovieClip-symbol. Den här flexibiliteten kostar emellertid något. När du bygger stora program glömmer du lätt bort vilka skript som ligger i vilka bildrutor. Den här komplicerade strukturen kan medföra att programmet efter ett tag blir svårt att underhålla.

Många utvecklare förenklar organisationen av sin ActionScript-kod i Flash Professional genom att placera kod bara i den första bildrutan i en tidslinje eller på ett speciellt lager i Flash-dokumentet. Om du skiljer ut koden blir det lättare att leta upp och underhålla koden i Flash FLA-filerna. Du kan däremot inte använda samma kod i ett annat Flash Professional-projekt utan att kopiera och klistra in koden i en ny fil.

Om du vill göra det enklare att använda ActionScript-koden i andra Flash Professional-projekt i framtiden sparar du koden i externa ActionScript-filer (textfiler med filtillägget .as).

Bädda in kod i Flex MXML-filer

I en Flex-utvecklingsmiljö som Flash Builder kan du inkludera ActionScript-kod inuti en <fx:Script> -tagg i en Flex MXML-fil. Den här tekniken kan dock göra stora projekt mer komplicerade och försvåra användningen av samma kod i ett annat Flex-projekt. Om du vill göra det enklare att använda ActionScript-koden i andra Flex-projekt i framtiden sparar du koden i externa ActionScript-filer.

Obs! Du kan ange en källparameter för en <fx:Script> -tagg. Med hjälp av en källparameter kan du ”importera” ActionScript-kod från en befintlig fil som om den har skrivits direkt i <fx:Script> -taggen. Källfilen som du använder kan emellertid inte definiera sin egen klass, vilket begränsar återanvändbarheten.

Lagra kod i ActionScript-filer

Om ditt projekt innehåller en mängd ActionScript-kod bör du organisera koden i ActionScript-källfiler (textfiler med filtillägget .as). En ActionScript-fil kan struktureras på ett av två sätt, beroende på hur du tänker använda den i programmet.

  • Ostrukturerad ActionScript-kod: Rader med ActionScript-kod, däribland programsatser och funktionsdefinitioner, skrivna som om de hade skrivits direkt i ett tidslinjeskript eller en MXML-fil.

    Du kommer åt ActionScript som skrivits på det här sättet med hjälp av programsatsen include i ActionScript eller med taggen <fx:Script> i Flex MXML. Programsatsen include i ActionScript talar om för kompilatorn att innehållet i en extern ActionScript-fil, på en viss plats och inom ett givet intervall, ska inkluderas i ett skript. Resultatet är samma som om koden skrivits där direkt. När du använder en <fx:Script> -tagg med ett källattribut i MXML-språk identifierar detta ett externt ActionScript, som kompilatorn läser in vid den tidpunkten i programmet. Med följande tagg läses till exempel den externa ActionScript-filen Box.as in:

    <fx:Script source="Box.as" />
  • ActionScript:definition av klass En definition av en ActionScript-klass, inklusive dess metod- och egenskapsdefinitioner.

    När du definierar en klass kan du komma åt ActionScript-koden i klassen genom att skapa en instans av klassen och använda dess egenskaper, metoder och händelser. Det är ingen skillnad på att använda egna klasser eller inbyggda ActionScript-klasser, båda kräver två saker:

    • Använd programsatsen import för att ange klassens fullständiga namn, så att ActionScript-kompilatorn vet var den finns. Om du till exempel vill använda klassen MovieClip i ActionScript importerar du klassen med dess fullständiga namn, inklusive paket och klass:

      import flash.display.MovieClip;

      Du kan också importera paketet som innehåller klassen MovieClip, vilket är detsamma som att skriva separata import -programsatser för varje klass i paketet:

      import flash.display.*;

      Det enda undantaget för regeln att en klass måste importeras för att du ska kunna använda den klassen i koden är klasser på den översta nivån. De klasserna definieras inte i ett paket.

    • Skriv kod som uttryckligen använder klassnamnet. Deklarera till exempel en variabel med den klassen som datatyp och skapa en instans av klassen att spara i variabeln. Om du använder en klass i ActionScript-kod instruerar du kompilatorn att läsa in definitionen av den klassen. Om det till exempel finns en extern klass som heter Box skapar den här programsatsen en instans av klassen Box:

      var smallBox:Box = new Box(10,20);

      Första gången kompilatorn träffar på referensen till klassen Box söker den i den tillgängliga källkoden efter definitionen för klassen Box.

Välja rätt verktyg

Du kan använda ett av flera verktyg (eller flera verktyg tillsammans) för att skriva och redigera ActionScript-koden.

Flash Builder

Adobe Flash Builder är det bästa verktyget för att skapa projekt med Flex-ramverket eller projekt som huvudsakligen består av ActionScript-kod. Flash Builder innehåller också en komplett ActionScript-redigerare samt funktioner för visuell layout och MXML-redigering. Det kan användas för att skapa Flex-projekt eller projekt som enbart innehåller ActionScript. Flex har flera fördelar, däribland en mängd förbyggda användargränssnittskontroller, flexibla dynamiska layoutkontroller och inbyggda mekanismer för arbete med fjärrdatakällor och länkning av externa data till användargränssnittselement. På grund av den extra kod som krävs för de här funktionerna kan Flex-projekt få större SWF-filer än motsvarande projekt som inte görs i Flex.

Använd Flash Builder om du skapar omfattande datadrivna RIA-program (Rich Internet Applications) med Flex. Använd det när du vill redigera ActionScript-kod, redigera MXML-kod och skapa programmets visuella layout – allt i ett och samma verktyg.

Många Flash Professional-användare som bygger projekt med mycket ActionScript använder Flash Professional för att skapa visuella resurser och Flash Builder som en redigerare för ActionScript-koden.

Flash Professional

Flash Professional innehåller, förutom funktioner för att skapa grafik och animeringar, även verktyg för att arbeta med ActionScript-kod. Koden kan antingen bifogas element i en FLA-fil eller i externa filer som bara innehåller ActionScript. Flash Professional är perfekt för projekt med mycket animeringar eller video. Det är praktiskt när du vill skapa de flesta grafiska resurserna själv. Ett annat skäl att använda Flash Professional för att utveckla ActionScript-projekt är att du kan skapa visuella resurser och skriva kod i ett och samma program. Flash Professional innehåller även förbyggda användargränssnittskomponenter. Du kan använda de komponenterna för att minska storleken på SWF-filen och använda visuella verktyg för att skapa skal för dem i projektet.

Flash Professional innehåller två verktyg för ActionScript-kod:

  • Åtgärdspanelen: Den här panelen är tillgänglig när du arbetar i en FLA-fil och du kan skriva ActionScript-kod som bifogas till bildrutor i en tidslinje.

  • Skriptfönster: Skriptfönstret är en anpassad textredigerare för ActionScript-kodfiler (.as).

Tredjeparts ActionScript-redigerare

Eftersom ActionScript-filer (.as) lagras som rena textfiler kan alla program som hanterar rena textfiler användas för att skriva ActionScript-filer. Förutom Adobes ActionScript-produkter finns det åtskilliga tredjeparts textredigeringsprogram med ActionScript-specifik kapacitet. Du kan skriva en MXML-fil och ActionScript-klasser med vilket textredigerare som helst. Du kan sedan skapa ett program från de filerna med Flex SDK. Projektet kan använda Flex eller vara ett program som bara består av ActionScript. En del utvecklare använder Flash Builder, eller ActionScript-redigerare från andra tillverkare, för att skriva ActionScript-klasser och Flash Professional för att skapa grafiskt innehåll.

Skälen till att välja en ActionScript-redigerare från en annan tillverkare kan vara:

  • Du föredrar att skriva ActionScript-kod i ett separat program och utforma visuella element i Flash Professional.

  • Du använder ett program för icke-ActionScript-programmering (till exempel när du skapar HTML-sidor eller bygger program i ett annat programmeringsspråk), och du vill använda samma program för ActionScript-kodningen.

  • Du vill skapa ActionScript- eller Flex-projekt med Flex SDK utan Flash Professional or Flash Builder.

Kodredigerare som stöder ActionScript är:

ActionScript-utvecklingsprocessen

Oavsett om ActionScript-projektet är stort eller litet blir arbetet med att utforma och utveckla programmet mer effektivt om du använder en process. I följande avsnitt beskrivs den grundläggande utvecklingsprocessen för att skapa ett program som använder ActionScript 3.0:

  1. Utforma programmet.

    Beskriv programmet på något sätt innan du börjar bygga det.

  2. Skapa ActionScript 3.0-koden.

    Du kan skapa ActionScript-kod med hjälp av Flash Professional, Flash Builder, Dreamweaver eller en textredigerare.

  3. Skapa ett Flash- eller Flex-projekt för att köra koden.

    I Flash Professional skapar du en FLA-fil, anger publiceringsinställningar, lägger till användargränssnittskomponenter i programmet och refererar till ActionScript-koden. I Flex definierar du programmet, lägger till användargränssnittskomponenter med MXML och refererar till ActionScript-koden.

  4. Publicera och testa ActionScript-programmet.

    När du testar programmet kör du det inifrån utvecklingsmiljön och kontrollerar att det utför allt som det ska.

Du behöver inte nödvändigtvis följa anvisningarna i turordning eller slutföra ett steg innan du börjar på nästa. Du kan till exempel utforma en skärm i programmet (steg 1) och sedan skapa grafik, knappar o.s.v. (steg 3) innan du skriver ActionScript-koden (steg 2) och testar (steg 4). Du kan också utforma en del av programmet och sedan lägga till en knapp eller ett gränssnittselement i taget, skriva ActionScript för en del i taget och testa dem vartefter de byggs. Det är en god idé att ha dessa fyra delar av utvecklingsprocess i åtanke. I verkligheten är det däremot mer effektivt att gå fram och tillbaka mellan de olika delarna efter behov.