Grunderna i programmering

Eftersom ActionScript är ett programmeringsspråk underlättar det om du först lär känna några allmänna programmeringsbegrepp.

Det här gör dataprogram

Först och främst bör du känna till vad ett program är och vad det gör. Det finns två huvudaspekter på ett dataprogram:

  • Ett program är en serie instruktioner eller steg som datorn kan utföra.

  • Varje steg inbegriper ändring av vissa informations- eller datadelar.

Allmänt sett är ett dataprogram en lista på stegvisa instruktioner som du ger datorn, och som den utför ett steg i taget. Varje separat instruktion kallas en programsats . I ActionScript skrivs alla programsatser med ett semikolon på slutet.

En viss programinstruktion ändrar en datadel som är lagrad i datorns minne. Ett enkelt exempel är att instruera datorn att lägga samman två tal och spara resultatet i minnet. Ett mera komplicerat exempel är en instruktion om att flytta en rektangel som redan finns på skärmen. Datorn håller reda på viss information om rektangeln, till exempel x- och y-koordinaterna för dess position, hur bred och hög den är och dess färg. Alla dessa informationsbitar lagras någonstans i datorns minne. Ett program som ska flytta rektangeln till en annan plats måste då innehålla steg som ”ändra x-koordinaten till 200; ändra y-koordinaten till 150”. Det måste med andra ord ange nya värden för x- och y-koordinaterna. Dessa data bearbetas i bakgrunden, med resultatet att bilden visas på den nya positionen på skärmen. På den grundläggande nivån räcker det att veta att ”flytta en rektangel på skärmen” bara innebär att databitar i datorns minne ändras.

Variabler och konstanter

Programmering går i huvudsak ut på att ändra information i datorns minne. Det är följaktligen viktigt att ha ett sätt att representera en bit information i ett program. En variabel är ett namn som representerar ett värde i datorns minne. När du skriver programsatser för att ändra värden skriver du variabelns namn i stället för värdet. Varje gång datorn läser variabelnamnet i programmet söker den i minnet och använder det värde som finns där. Om du till exempel har två variabler som heter value1 och value2 som båda innehåller ett tal, skriver du följande programsats för att addera dessa tal:

value1 + value2

När datorn sedan kör instruktionerna läser den värdena i varje variabel och lägger ihop dem.

I ActionScript 3.0 består en variabel av tre olika delar:

  • Variabelns namn

  • Den typ av data som kan lagras i variabeln

  • Det verkliga värdet i datorns minne

Nu har du sett hur datorn använder namnet som en platshållare för värdet. Datatypen är också viktig. När du skapar en variabel i ActionScript anger du den särskilda datatyp som den ska innehålla. Från och med det här steget kan programinstruktionerna bara spara den typen av data i variabeln. Du kan hantera värdet med hjälp av de särskilda egenskaper som är kopplade till dess datatyp. Om du vill skapa en variabel i ActionScript (kallas att deklarera värdet) använder du programsatsen var :

var value1:Number;

I det här exemplet instrueras datorn att skapa en variabel med namnet value1 , som bara kan innehålla Number-data. (”Number” är en särskild datatyp som definieras i ActionScript.) Du kan också lagra ett värde i variabeln på en gång.

var value2:Number = 17;

Adobe Flash Professional

I Flash Professional finns det ett annat sätt att deklarera en variabel. När du placerar en filmklippssymbol, knappsymbol eller ett textfält på scenen kan du ge det ett förekomstnamn i egenskapsinspektören. Flash Professional skapar i bakgrunden en variabel med samma namn som instansnamnet. Du kan använda det namnet i din ActionScript-kod för att representera det scenobjektet. Tänk dig till exempel att du har en filmklippssymbol på scenen och den får instansnamnet rocketShip . Varje gång du använder variabeln rocketShip i ActionScript-koden hanterar du i själva verket det filmklippet.

En konstant påminner om en variabel. Det är ett namn som motsvarar ett värde med en viss datatyp i datorns minne. Skillnaden är att en konstant bara kan tilldelas ett värde en gång i ett ActionScript-program. När en konstants värde har tilldelats är det detsamma hela tiden i programmet. Syntaxen vid deklaration av konstanter är nästan likadan som vid deklaration av variabler. Den enda skillnaden är att du använder nyckelordet const i stället för var :

const SALES_TAX_RATE:Number = 0.07;

En konstant är användbar när du vill definiera ett värde som används på flera ställen i ett projekt och som inte ändras under normala förhållanden. Om du använder en konstant i stället för ett litteralvärde blir koden enklare att läsa. Som exempel kan vi använda två versioner av samma kod. I den ena multipliceras ett pris med SALES_TAX_RATE . I den andra multipliceras priset med 0.07 . Den version som använder konstanten SALES_TAX_RATE är enklare att förstå. Anta dessutom att det värde som definieras av konstanten faktiskt ändras. Om du använder en konstant för att representera det värdet i hela projektet behöver du bara ändra värdet på ett ställe (i konstantdeklarationen). Om du däremot använder hårdkodade litteralvärden måste du ändra värdet på flera ställen.

Datatyper

I ActionScript finns det många datatyper som du kan använda som datatyper för de variabler du skapar. Vissa av dessa datatyper kan betraktas som ”enkla” eller ”grundläggande” datatyper:

  • Sträng: ett textvärde, som ett namn på eller texten i en boks kapitel

  • Numeric: ActionScript 3.0 innehåller tre speciella datatyper för numeriska data:

    • Antal: alla numeriska värden, däribland värden med eller utan bråkvärde

    • int: ett heltal (ett helt tal utan bråk)

    • uint: ett heltal utan tecken, d.v.s. ett heltal som inte kan vara negativt

  • Boolean: ett true- eller false-värde, till exempel om en switch är aktiverad eller om två värden är lika

Dessa enkla datatyper representerar en enstaka informationsdel: en enstaka siffra eller en enstaka textsekvens. De flesta datatyper som definieras i ActionScript är emellertid komplexa datatyper. De representerar en uppsättning med värden i en enda behållare. En variabel med datatypen Date representerar till exempel ett enda värde (en tidpunkt). Oavsett detta representeras det datumvärdet som flera värden: dag, månad, år, timme, minut, sekund och så vidare, och alla är individuella tal. De flesta av oss ser i allmänhet ett datum som ett enda värde, och du kan behandla det så genom att skapa variabeln Date. Men datorn tolkar det däremot som en grupp med flera värden som tillsammans utgör ett enda datum.

De flesta interna datatyper, men även datatyper som definierats av programmerare, är komplexa datatyper. Vissa av de komplexa datatyper som du känner till kan vara:

  • MovieClip: en filmklippssymbol

  • TextField: ett dynamiskt eller inmatningstextfält

  • SimpleButton: en knappsymbol

  • Date: information om en enstaka tidpunkt (ett datum eller en tid)

Två ord som ofta används som synonymer för datatyper är ”klass” och ”objekt”. En klass är definitionen av en datatyp. Det är som en mall för alla objekt med den datatypen, som talar om att ”alla variabler med datatypen Example har dessa egenskaper: A, B och C”. Ett objekt å andra sidan är bara en faktisk instans av en klass. En variabel vars datatyp är MovieClip kan till exempel beskrivas som ett MovieClip-objekt. Följande är alltså olika sätt att säga samma sak.

  • Datatypen för variabeln myVariable är Number.

  • Variabeln myVariable är en Number-förekomst.

  • Variabeln myVariable är ett Number-objekt.

  • Variabeln myVariable är en förekomst av klassen Number.