Podstawy programowania

Ponieważ ActionScript jest językiem programowania, poznawanie go najlepiej zacząć od kilku ogólnych pojęć z zakresu programowania komputerów.

Co robią programy komputerowe

Przede wszystkim warto zastanowić się, czym jest i co robi program komputerowy. Program komputerowy można postrzegać w dwóch aspektach:

  • Program jest szeregiem instrukcji lub kroków, które komputer ma wykonać.

  • Każdy krok sprowadza się do manipulacji na elemencie informacji lub danych.

W sensie ogólnym program komputerowym jest po prostu listą kroków, które komputer kolejno wykonuje. Każdy taki krok nazywany jest instrukcją . W języku ActionScript każda instrukcja jest zakończona znakiem średnika.

Co do zasady działanie każdej instrukcji w programie sprowadza się do manipulacji jakimś elementem danych przechowywanym w pamięci komputera. Prostym przykładem jest instrukcja, która powoduje, że komputer dodaje dwie liczby i zapisuje w wynik w pamięci. Bardziej skomplikowaną operacją byłoby na przykład przesunięcie w inne miejsce prostokąta narysowanego na ekranie. Komputer śledzi określone informacje na temat prostokąta: współrzędne x i y jego położenia, jego szerokość i wysokość, jego kolor itd. Każda z tych informacji jest przechowywana w pamięci komputera. Program, który spowoduje przeniesienie prostokątna do innego miejsca, powinien zawierać kroki, takie jak „zmień współrzędną x na 200; zmień współrzędną y na 150”. Innymi słowy: powinien określać nowe wartości dla współrzędnych x i y. W tle komputer wykonuje operacje, które powodują przekształcenie liczb w obraz, który pojawi się na ekranie komputera. Jednak na podstawowym poziomie szczegółowości najważniejszą informacją jest to, że zadanie „przesunięcia prostokąta na ekranie” obejmuje zmianę bitów danych w pamięci komputera.

Zmienne i stałe

Programowanie dotyczy głównie zmiany fragmentów informacji w pamięci komputera. Dlatego bardzo ważne jest istnienie sposobu reprezentowana pojedynczego fragmentu informacji w programie. Zmienna to nazwa reprezentująca wartość w pamięci komputera. W instrukcjach manipulujących wartościami używamy zamiast tych wartości nazw zmiennych; za każdym razem, gdy komputer napotka w programie nazwę zmiennej, szuka w pamięci wartości, którą ta zmienna reprezentuje. Na przykład, jeśli mamy dwie zmienne o nazwach value1 i value2 , a każda z nich zawiera liczbę, możemy napisać następującą instrukcję dodawania tych dwóch liczb:

value1 + value2

Realizując program, komputer odszuka wartości każdej ze zmiennych i doda te wartości.

W języku ActionScript 3.0 zmienna faktycznie składa się z trzech różnych elementów:

  • nazwy zmiennej;

  • typu danych, jakie mogą być przechowywane w zmiennej;

  • faktycznej wartości przechowywanej w pamięci komputera.

Wyjaśniliśmy już, że nazwa zastępuje w programie wartość zmiennej. Ważną rolę odgrywa także typ danych. Po utworzeniu zmiennej w języku ActionScript należy określić konkretny typ danych, jakie będą przechowywane w zmiennej. Od tego momentu instrukcje programu będą mogły przechowywać w zmiennej tylko dane tego typu. Wartość można modyfikować za pomocą określonych cech skojarzonych z typem danych tej wartości. Aby utworzyć zmienną w języku ActionScript (proces ten nazywamy deklarowaniem zmiennej), używamy instrukcji var :

var value1:Number;

W tym przykładzie przedstawiona instrukcja powoduje, że komputer tworzy zmienną o nazwie value1 , która może przechowywać tylko dane typu Number. („Number” to typ danych zdefiniowany w języku ActionScript). Możemy także od razu zapisać wartość w zmiennej:

var value2:Number = 17;

Adobe Flash Professional

W programie Flash Professional istnieje też inny sposób deklarowania zmiennych. Gdy umieścimy symbol klipu filmowego, symbol przycisku lub pole tekstowe na stole montażowym, możemy nadać mu nazwę instancji w Inspektorze właściwości. W tle program Flash Professional tworzy zmienną o takiej samej nazwie jak nazwa instancji. Z tej nazwy można skorzystać w kodzie ActionScript w celu reprezentowania tego elementu stołu montażowego. Załóżmy, że na stole montażowym znajduje się symbol klipu filmowego, który otrzymał nazwę instancji rocketShip . W każdym przypadku użycia zmiennej rocketShip w kodzie ActionScript każda zmiana dotyczy tego klipu filmowego.

Stała jest podobna do zmiennej. Jest to nazwa, która reprezentuje wartość o określonym typie danych w pamięci komputera. Różnica polega na tym, że stałej można przypisać wartość tylko raz w całej aplikacji ActionScript. Raz przypisana wartość stałej pozostaje niezmienna przez cały czas wykonywania aplikacji. Składnia deklarowania stałej jest niemal taka sama, jak przeznaczona do deklarowania zmiennej. Jedyną różnicą jest to, że używane jest słowo kluczowe const zamiast słowa kluczowego var :

const SALES_TAX_RATE:Number = 0.07;

Stałe są użyteczne do definiowania wartości używanych w wielu miejscach w projekcie, które w normalnych okolicznościach nie ulegają zmianie. Użycie stałych zamiast wartości literalnych zwiększa czytelność kodu. Przykład: rozważmy dwie wersje tego samego kodu. Jedna z nich mnoży cenę przez SALES_TAX_RATE . Drugi mnoży cenę przez 0.07 . Wersja, w której wykorzystano stałą SALES_TAX_RATE , jest bardziej zrozumiała. Ponadto: załóżmy, że wartość zdefiniowana przez stałą ulega zmianie. Jeśli wykorzystamy stałą w celu reprezentowania tej wartości w całym projekcie, wówczas wystarczy zmienić wartość w jednym miejscu (w deklaracji stałej). Gdybyśmy zastosowali wartości literałowe zapisane w kodzie, konieczna byłaby zmiana każdego wystąpienia tej wartości.

Typy danych

W języku ActionScript istnieje wiele typów danych, które można przypisywać tworzonym zmiennym. Niektóre z tych typów są typami „prostymi” lub „podstawowymi”:

  • String: wartość tekstowa, taka jak nazwa lub tekst rozdziału książki.

  • Typy liczbowe: w języku ActionScript 3.0 istnieją trzy typy danych reprezentujące dane liczbowe:

    • Number: dowolna wartość liczbowa, całkowita lub ułamkowa;

    • int: liczba całkowita (bez części ułamkowej);

    • uint: liczba całkowita „bez znaku”, czyli liczba całkowita nieujemna.

  • Boolean: wartość true (prawda) albo wartość (false), określająca np. stan przełącznika lub informująca, czy dwie wartości są sobie równe.

Proste typy danych reprezentują pojedyncze elementy informacji: na przykład jedną liczbę lub jeden ciąg tekstowy. Jednak większość typów danych zdefiniowanych w języku ActionScript to złożone typy danych. Reprezentują one zestaw wartości w pojedynczym kontenerze. Na przykład zmienna należąca do typu danych Date reprezentuje jedną wartość — moment w czasie. Jedna w istocie wartość typu Date składa się z kilku odrębnych liczb: dnia, miesiąca, roku, godzin, minut, sekund itd. Zwykle myślimy o dacie jak o pojedynczej wartości i w języku ActionScript możliwe jest traktowanie jej w ten sposób — należy tylko utworzyć zmienną Date. Jednak komputer traktuje datę jako grupę kilku wartości, które razem tworzą pojedynczą datę.

Większość wbudowanych typów danych, a także typów danych definiowanych przez programistów, to typy złożone. Oto niektóre złożone typy danych, z którymi czytelnicy mogli się już pośrednio zetknąć:

  • MovieClip: symbol klipu filmowego;

  • TextField: dynamiczne lub wejściowe pole tekstowe;

  • SimpleButton: symbol przycisku;

  • Date: informacje o pojedynczym momencie w czasie (dacie i godzinie).

Często używanymi synonimami typu danych są: klasa i obiekt. Klasa jest po prostu definicją typu danych. Klasę można traktować jako szablon dla wszystkich obiektów danego typu danych, który może zawierać na przykład następujące informacje: „wszystkie zmienne typu danych Przykład mają następujące cechy: A, B i C”. Obiekt jest po prostu instancją klasy. Na przykład: zmienna typu MovieClip może zostać opisana jako obiekt MovieClip. Oto różne sposoby wyrażenia tego samego faktu:

  • Typem danych zmiennej myVariable jest Number.

  • Zmienna myVariable jest instancją typu Number.

  • Zmienna myVariable jest obiektem typu Number.

  • Zmienna myVariable jest instancją klasy Number.