Könyvhöz tartozó online melléklet

Könyv: ActionScript 3.0 a gyakorlatban (Colin Moock)

Melléklet: Bevezetõ

Az ActionScript az Adobe Flash platformjának hivatalos programozási nyelve

Az ActionScript az Adobe Flash platformjának hivatalos programozási nyelve. Eredetileg egyszerű animációvezérlő eszköznek szánták, de a kezdetek óta kifinomult programnyelvvé fejlődött, amellyel webes, illetve mobileszközökre vagy asztali számítógépekre szánt tartalmakat és alkalmazásokat készíthetünk. Az ActionScriptet – gyökereihez híven – a legkülönfélébb célokra használhatják a programozók és más tartalomelőállítók. Egy animátor például csupán néhány sornyi ActionScripttel megállíthatja egy webes animáció lejátszását, egy felülettervező néhány száz sor kóddal interaktívvá teheti egy mobiltelefon felületét, egy alkalmazásfejlesztő pedig több ezer sornyi kódot írhat, hogy egy teljes levélolvasó programot készítsen böngészőkhöz és asztali felhasználásra az ActionScript segítségével.

Ez a könyv az ActionScript-programozás alapjait valóban kimerítő részletességgel tárgyalja, rendkívül pontos és közérthető nyelven. Páratlan gondossága és mélysége egy teljes évtizednyi napi rendszerességű ActionScript-kutatás, gyakorlati programozói tapasztalat és az Adobe mérnökeivel folytatott korlátlan eszmecsere eredménye. A kötet minden szavát gondosan ellenőrizték – sok esetben többször is – az Adobe mérnöki csapatának kulcsfontosságú tagjai, beleértve azokat, akik a Flash Playert, a Flex Buildert és a Flash fejlesztőkörnyezetet készítik (lásd a Köszönetnyilvánítás című részt a bevezetés végén).

Kezdők is jöhetnek

Kötetünk a programozók szemszögéből vizsgálja az ActionScriptet, de tételez fel programozási előismereteket. Ha korábban soha nem programoztunk, kezdjük az 1. fejezettel, amely végigvezet az ActionScript alapjain, és fellebbenti a fátylat az olyan titokzatosnak tűnő kifejezésekről, mint a változó, a tagfüggvény, az osztály vagy az objektum, majd folytassuk sorban a többivel. Minden fejezet az előzőben bemutatott fogalmakra épül, és az új témákat egyetlen hosszú leírásban vezeti be, amelyet elolvasva továbbhaladhatunk a profi ActionScript-programozóvá válás útján.

Mindazonáltal, amennyiben az Olvasó munkája a tervezés, és csak azt szeretné megtanulni, hogyan vezérelhet animációkat a Flash fejlesztőkörnyezetben, valószínűleg nem ezt a könyvet kell választania; az Adobe dokumentációiból mindent megtudhat, amire csak szüksége van. Kötetünket akkor érdemes fellapozni, ha azt szeretnénk megtudni, hogyan egészíthetjük ki programlogikával és -műveletekkel az alkotásainkat.

Útmutatás a szakértőktől

Ha már rendelkezünk némi ActionScript-tapasztalattal, ennek a könyvnek a segítségével betömhetjük a tudásunk réseit, átismételhetjük a fontos fogalmakat, és a gondos fogalmazásnak, illetve közérthető nyelvezetnek köszönhetően megérthetjük a bonyolultabb elveket. Gondoljunk úgy a könyvre, mint egy ActionScript-szakértőre, aki az asztalunknál ül, és akit megkérhetünk, hogy magyarázza el az ActionScript eseményszerkezetének finomságait, vagy lebbentse fel a fátylat a Flash Player biztonsági rendszeréről, esetleg szemléltesse az ActionScript beépített XML-támogatásának (E4X) erejét. Persze arra is használhatjuk a könyvet, hogy információt kérjünk az olyan kevéssé dokumentált témakörökről, mint a névterek, a beágyazott betűtípusok, a betöltött tartalomhoz való hozzáférés, az osztálykönyvtárak közzététele, a szemétgyűjtés vagy a képernyő frissítése.

Kötetünk igazi fejlesztői kézikönyv, tele gyakorlati útmutatókkal, fontos figyelmeztetésekkel és hasznos példakódokkal, amelyek megmutatják, hogyan hajthatjuk végre helyesen a különböző feladatokat.

Mit tartalmaz a könyv?

Könyvünk három részre oszlik:

Az I rész (ActionScript – az alapok) átfogóan tárgyalja az ActionScript nyelv magját, beleértve az objektumközpontú programozást, az osztályokat, az objektumokat, a változókat, a tagfüggvényeket és függvényeket, az öröklést, az adattípusokat, a tömböket, az eseményeket, a kivételeket, a hatóköröket, a névtereket és az XML-t. A részt a Flash Player biztonsági rendszerének áttekintése zárja.

A II. rész (Megjelenítés és interaktivitás) annak módszereit vizsgálja, hogy miként jeleníthetünk meg tartalmakat a képernyőn, és hogyan válaszolhatunk a bemeneti eseményekre. A tárgyalt témák között olyanokat találunk, mint a Flash futásidejű megjelenítési API-ja, a hierarchikus eseménykezelés, az egér- és billentyűesemények kezelése, az animáció, a vektor- és bitképes grafikák, a szövegkezelés, valamint a tartalombetöltő műveletek.

A III. részben (Alkalmazott ActionScript) az ActionScript kódok előállítására összpontosítunk: megnézzük, hogyan kombinálhatjuk az ActionScriptet a Flash fejlesztőkörnyezetben általunk létrehozott anyagokkal, hogyan használhatjuk a Flex keretrendszert a Flex Builder 2-ben, és hogyan készíthetünk saját kódkönyvtárat.

A kötet egy teljes, működőképes program áttekintésével zárul – egy virtuális állatkerttel.

Mit nem tartalmaz a könyv?

Az ActionScript területe hatalmas – egyetlen könyvben lehetetlen teljesen lefedni, ezért a könyvben a következő lényegesebb témákkal nem foglalkozunk kimerítően:

MXML

A Flex keretrendszer

Flex Data Services

A Flash fejlesztőkörnyezet beépített összetevői

Flash Media Server

Flash Remoting

A szabályos kifejezések támogatása az ActionScriptben

 

Ezekről a témákról az Adobe dokumentációjában, valamint az O’Reilly Adobe Developer Library-jében találunk bővebb információkat, a http://www.oreilly.com/store/series/adl.csp címen.

Függetlenség a fejlesztőkörnyezettől

Könyvünk az ActionScript-programozás olyan alapelveit mutatja be, amelyek minden ActionScript 3.0 fejlesztő-, illetve futásidejű környezetben érvényesek. Amennyire csak lehetséges, kerüljük az eszközfüggő megoldásokat, és nem az eszközök használatára, hanem a programozási elvekre összpontosítunk. A 29. fejezetben ugyanakkor bemutatjuk, hogyan programozhatunk a Flash fejlesztőkörnyezetben, a 30. fejezetben összefoglaljuk a legfontosabb tudnivalókat a Flex keretrendszer használatáról a Flex Builder 2-ben, a 7. fejezetben pedig leírjuk, hogyan fordíthatunk le egy programot a különböző fejlesztőeszközök (a Flash, a Flex Builder 2 és az mxmlc) segítségével.

Most fordítsuk a figyelmünket magára az ActionScript nyelvre. A következőkben a tapasztalt programozóknak adunk technikai bevezetést az ActionScript 3.0 használatába. Ha teljesen kezdők vagyunk a programozás terén, ugorjunk A könyvben használt jelölések című részre, majd folytassuk az 1. fejezettel.

Az ActionScript áttekintése

Az ActionScript 3.0 objektumközpontú (objektumorientált) nyelv, amellyel alkalmazásokat és a futásidejű Flash-ügyfélprogramokban (például a Flash Playerben vagy az Adobe AIR-ben) lejátszható programozott multimédiás tartalmakat készíthetünk. Mivel az ActionScript nyelvtana hasonlít a Java és a C# nyelvekére, ismerős lehet a tapasztalt programozóknak. Az alábbi kód például egy width nevű, int (integer, vagyis egész szám) típusú változót hoz létre, és a 25 értéket rendeli hozzá:

var width:int = 25;

A következő kóddal egy for ciklust hozunk létre, amely 10-ig számol:

for (var i:int = 1; i <= 10; i++) {

// Az itt található kód 10 alkalommal fut le

}

Ez a kód pedig egy Product nevű osztályt hoz létre:

// Az osztály meghatározása

public class Product {

// Egy Number típusú példányváltozó

var price:Number;

 

// A Product osztály létrehozófüggvénye

public function Product() {

// Az itt található kód előkészíti a Product példányokat

}

 

// Példánytagfüggvény

public function doSomething():void {

// Az itt található kód akkor fut le, amikor meghívjuk // a doSomething() függvényt

}

}

 

A nyelv magja

Az ActionScript 3.0 nyelv magja az ECMAScript nyelvleírás 4. kiadásán alapul, amely 2007 májusában még fejlesztés alatt állt.

Az ECMAScript 4 szabványt a http://developer.mozilla.org/es4/spec/spec.html, az ActionScript 3.0 szabványleírását pedig a következő címen tekinthetjük meg: http://livedocs.macromedia.com/specs/actionscript/3

A jövőben az ActionScript a várakozások szerint a szabványnak teljesen megfelelő megvalósításává válik az ECMAScript 4-nek. Az ActionScripthez hasonlóan a népszerű böngészőnyelv, a JavaScript is az ECMAScriptre épül. A Firefox webböngésző jelenleg fejlesztett 3.0-s változatában már az ActionScriptével megegyező kódalappal valósítják meg a JavaScript 2.0-t, mely kódot 2006 novemberében nyújtotta át az Adobe a Mozilla Foundationnek. (Erről a következő címen tudhatunk meg többet: http://www.mozilla.org/projects/tamarin)

Az ActionScript nyelvtanának alapjait az ECMAScript 4 határozza meg. Ebbe az alapba tartoznak mindazok a kódok, amelyekkel kifejezéseket, utasításokat, változókat, függvényeket, osztályokat és objektumokat hozhatunk létre. Az ECMAScript 4 emellett beépített adattípusok egy kisebb halmazát is meghatározza, amelyek a gyakoribb értéktípusok (String, Number és Boolean) kezelésére szolgálnak.

Az ActionScript 3.0 legfontosabb nyelvi szolgáltatásai a következők:

Az olyan szokványos objektumközpontú szerkezetek, mint az osztályok, az objektumok és a felületek elsőrangú támogatása

Egyszálas végrehajtási modell

Futásidejű típusellenőrzés

Választható fordítási idejű típusellenőrzés

Dinamikus képességek, például új konstruktorfüggvények és változók létrehozása futásidőben

Futásidejű kivételek

Az XML közvetlen támogatása beépített adattípusként

Csomagok a kódkönyvtárak rendszerezéséhez

Névterek az azonosítók minősítéséhez

Szabályos kifejezések

 

A nyelv magjának ezeket a szolgáltatásait az ActionScript 3.0-t ismerő minden futásidejű Flash-ügyfélprogram támogatja. Ebben a könyvben a nyelv magját teljes egészében ismertetjük, a szabályos kifejezések kivételével.

Futásidejű Flash-ügyfelek

Az ActionScript nyelven írt programok három különböző futásidejű ügyfélkörnyezetben futtathatók. Ez a három környezet az Adobe AIR, a Flash Player és a Flash Lite.

Adobe AIR

Az Adobe AIR a Flash platformra fejlesztett programokat asztali alkalmazásként futtatja. Az Adobe AIR nem csak az SWF formátumú tartalmakat, hanem a HTML és a JavaScript segítségével előállított állományokat is támogatja. Az AIR-t közvetlenül a végfelhasználó számítógépére kell telepíteni, az operációs rendszer szintjén. További információkért keressük fel a http://www.adobe.com/go/air címet.

Flash Player

A Flash Player a webes közzétételre szánt Flash-anyagok és -alkalmazások lejátszója, amely az első számú választás, amikor egy weboldalba beágyazott SWF formátumú anyagot szeretnénk futtatni. A Flash Playert jellemzően webböngésző-bővítményként telepítik, de önálló alkalmazásként is képes futni.

Flash Lite

A Flash Lite a mobileszközökre készített Flash-anyagokhoz és -alkalmazásokhoz való. A mobileszközök teljesítménykorlátai miatt a Flash Lite általában lassabb és kevesebb szolgáltatást nyújt, mint a Flash Player vagy az Adobe AIR. 2007 júniusában a Flash Lite még nem támogatta az ActionScript 3.0-t.

 

A fenti futásidejű Flash-ügyfélkörnyezetek alapszolgáltatásaikban azonosak, de az adott környezet képességeitől és biztonsági követelményeitől függően további szolgáltatásokat is nyújtanak. Az Adobe AIR, a Flash Player és a Flash Lite például ugyanazt a nyelvtant használja a változók létrehozására, de az Adobe AIR ablakkezelő és fájlrendszer-kezelő API-val is rendelkezik, a Flash Lite képes rezgésre bírni a mobiltelefont, míg a Flash Player kifejezetten webes biztonsági szolgáltatásokat is nyújt a felhasználó adatainak védelmére.

Futásidejű API-k

Minden futásidejű Flash-ügyfélprogram saját függvény-, változó-, osztály- és objektumkészlettel rendelkezik – ezt hívjuk az adott környezet futásidejű alkalmazásprogramozási felületének (futásidejű API). Az egyes ügyfélprogramok futásidejű API-jának saját neve van; a Flash Playeré például a Flash Player API.

Minden ügyfélprogram futásidejű API-ja azonos alapszolgáltatásokat nyújt, például ugyanazokat az alapvető osztályokat kínálja a tartalom megjelenítéséhez a képernyőn, valamint az események elindításához.

A futásidejű Flash-ügyfélprogramok legfontosabb közös szolgáltatásai a következők:

Grafikák és videók megjelenítése

Hierarchikus eseményarchitektúra

Szövegmegjelenítés és szöveges bemenet kezelése

Vezérlés az egérrel, illetve a billentyűzetről

Hálózati műveletek a külső adatok betöltéséhez, valamint a kiszolgálóoldali alkalmazásokkal való kapcsolattartáshoz

Hanglejátszás

Nyomtatás

Kommunikáció külső helyi alkalmazásokkal

Programozási segédek

 

Ebben a könyvben a fentiek közül az első ötöt tárgyaljuk. Ha a többi futásidejű API valamelyikéről szeretnénk többet tudni, forduljunk az adott termék dokumentációjához.

Összetevők

A futásidejű Flash-ügyfélprogramok API-jai mellett az Adobe két összetevőkészletet is a programozók rendelkezésére bocsát a legfontosabb programozási feladatok elvégzéséhez, illetve a felhasználói felületek építéséhez. A Flex Builder 2-ben és az ingyenes Flex 2 SDK-ban a Flex keretrendszert találjuk, amely felhasználói felületi vezérlők teljes készletét határozza meg, például olyan vezérlőket, mint a választógomb (RadioButton), a jelölőnégyzet (CheckBox) vagy a listamező (List). A Flash fejlesztőkörnyezet ezzel megegyező felhasználói felületi összetevőket biztosít, amelyek egyesítik a kódot a saját kezűleg létrehozott grafikus elemekkel, amelyeket a Flash-fejlesztők és -tervezők testreszabhatnak.

Mind a Flex keretrendszer, mind a Flash fejlesztőkörnyezet összetevőkészlete teljes egészében az ActionScript 3.0-ban íródott. A Flex keretrendszer felhasználói felületi összetevői összességében több szolgáltatást nyújtanak, mint a Flash fejlesztőkörnyezet hasonló összetevői, de ezért nagyobb fájlméretet is eredményeznek.

A Flex keretrendszer felhasználói felületi összetevői nem használhatók a Flash fejlesztőkörnyezetben, de a Flash hasonló összetevői (mind technikailag, mind jogilag) alkalmazhatók a Flex Builder 2-ben és az mxmlc-ben.

Kötetünkben nem foglalkozunk az összetevők használatával, illetve létrehozásával az ActionScriptben. Ha többet szeretnénk tudni az összetevőkről, forduljunk a megfelelő termék dokumentációjához.

A Flash fájlformátum (SWF)

Az ActionScript kódot .swf fájlba kell fordítani, hogy lejátszható legyen valamelyik futásidejű Flash-ügyfélprogramban. Az .swf fájl ActionScript bájtkódot és beágyazott elemeket (képeket, hanganyagot, videókat és betűtípusokat) egyaránt tartalmazhat. Egyes .swf fájlokban csak elemeket találunk, kódot nem, míg mások csak kódot tartalmaznak, elemeket nem. Egy ActionScript program lehet egyetlen .swf fájlban, de szétoszthatjuk több .swf fájl között is. Ha egy programot széttördelve több .swf fájlba helyezünk, az egyikben lesz a program belépési pontja, és ez tölti majd be a többi .swf fájlt, amikor azokra szükség van. Ha egy bonyolult programot több .swf fájlba osztunk szét, azzal megkönnyítjük a program későbbi karbantartását, és az Interneten közzétett alkalmazások esetében a felhasználónak gyorsabb hozzáférést nyújthatunk a program egyes részeihez.

ActionScript-fejlesztőeszközök

Az Adobe a következő eszközöket biztosítja az ActionScript kódok létrehozásához:

Adobe Flash

http://www.adobe.com/go/flash

 

Vizuális tervező- és programozóeszköz olyan multimédiás tartalmak előállításához, amelyek egyesítik a grafikákat, a mozgóképeket, a hanganyagokat, az animcáiókat és az interaktivitást. Az Adobe Flash-ben a fejlesztők úgy hozhatnak létre interaktív tartalmakat, hogy ActionScript kódokat kombinálnak animációval, saját kezűleg megalkotott anyagokkal és beágyazott elemekkel. Az Adobe Flash Flash fejlesztőkörnyezet néven is ismeretes. 2007 júniusában a Flash fejlesztőkörnyezet legfrissebb változata a Flash CS3 (a szoftver 9-es változata) volt.

Adobe Flex Builder

http://www.adobe.com/products/flex/productinfo/overview

Fejlesztőeszköz tisztán ActionScript vagy MXML segítségével előállított tartalmakhoz. (Az MXML egy XML alapú nyelv, amellyel felhasználói felületeket írhatunk le.) A Flex Builder része a Flex keretrendszerként ismert fejlesztői keretrendszer, amely a programozási segédek és a változtatható stílusú és megjelenésű („bőrözhető”) felhasználó felületi vezérlők könyvtárainak széles körét biztosítja. A Flex Builder 2 az Eclipse nevű népszerű, nyílt forrású programozóeszközre épül, és egyaránt használható „kézi kódolásra”, illetve a Microsoft Visual Basicéhez hasonló vizuális fejlesztésre.

 

Adobe Flex 2 SDK

http://www.adobe.com/go/flex2_sdk

Ingyenes parancssori eszközkészlet tisztán ActionScript 3.0 vagy MXML segítségével előállított tartalmakhoz. A Flex 2 SDK is tartalmazza a Flex keretrendszert, valamint része egy parancssori fordító, az mxmlc is (ami szintén megtalálható az Adobe Flex Builder 2-ben). A Flex 2 SDK segítségével a fejlesztők szabadon készíthetnek tartalmakat az általuk választott szerkesztőprogramban. (Az ActionScript nyelvű fejlesztéshez használható nyílt forrású eszközökről és segédprogramokról a http://osflash.org címen tájékozódhatunk.)

 

A könyv példafájljai

Könyvünk hivatalos webhelyének címe:

http://moock.org/eas3

A kötet példafájljai a következő címről tölthetők le:

http://moock.org/eas3/examples

A könyv példáinak többségét egy fő osztály tartalmazza, amelyet (a Flash fejlesztőkörnyezetben) egy .fla fájl dokumentumosztályaként, illetve (a Flex Builderben) egy projekt alapértelmezett alkalmazásosztályaként kell lefordítani.

A példakódok használata

Ezt a könyvet azért készítettük, hogy segítsen a munkánk elvégzésében. A benne szereplő kódok általában felhasználhatók a programjainkban és dokumentációinkban, tehát nem kell engedélyért folyamodni a kiadóhoz, hacsak nem jelentős mennyiségű kódot kívánunk lemásolni. Például ha olyan programot írunk, amely több kisebb kódrészletet használ fel a könyvből, nincs szükség engedélyre, de ha terjeszteni vagy eladni szeretnénk egy O’Reilly könyvből származó példákat tartalmazó CD-ROM-ot, akkor igen. Ha a könyvet, illetve egy benne szereplő példakódot idézve válaszolunk egy kérdésre, ugyancsak nem kell engedélyt kérnünk, de ha termékünk dokumentációja jelentős mennyiségű példakódot emel át ebből a könyvből, már engedélyre lesz szükségünk.

Örülünk neki, de nem követeljük meg, ha valaki feltünteti a forrást. A forrás feltüntetése általában a szerző, a cím, a kiadó és az ISBN-szám jelzését jelenti, például így: „Colin Moock: Essential ActionScript 3.0, Copyright 2007, O’Reilly Media, Inc., 0-596-52694-6”.

Ha a kódpéldákat olyan formában szeretnénk felhasználni, ami érzésünk szerint a fent említett szabad felhasználási körökön kívül esik, lépjünk kapcsolatba a kiadóval a permissions@oreilly.com címen.

A könyvben használt jelölések

Az ActionScript különböző nyelvi elemeinek megkülönböztetésére a könyv a következő jelöléseket használja:

Menüpontok

A menüparancsok elérési útjában az egyes elemeket vesszővel választjuk el egymástól, ilyen formában: Fájl, Megnyitás.

Állandó szélességű betűk

Ez a formázás kódpéldákat, kódrészleteket, változóneveket és paraméterneveket jelöl.

Dőlt betűk

‑Dőlt betűvel írjuk a függvény- és tagfüggvényneveket, az osztály- és csomagneveket, az URL-eket, a fájlneveket, az adattípusokat, a kulcsszavakat, az objektumok nevét, és az olyan fájlkiterjesztéseket, mint az .swf. A törzsszövegben a dőlt betűs kiemelés mellett a függvény- és tagfüggvényneveket zárójelek követik, például így: duplicateMovieClip().

Állandó szélességű félkövér szöveg

Ez a formázás olyan szöveget jelöl, amit pontosan így kell beírni, amikor követjük a leírt lépéseket. Néha ugyancsak állandó szélességű félkövér kiemelést alkalmazunk a kódpéldákon belül, például hogy egy nagyobb példában felhívjuk a figyelmet egy fontos kódsorra.

Állandó szélességű dőlt betűs szöveg

‑Ez a formázás olyan kódot jelöl, amelyet egy megfelelő értékkel kell helyettesítenünk (például: ide_jön_a_nevünk)

 

Ez az ikon egy tippet jelöl, ami hasznos információval lát el minket az adott témá‑val kapcsolatban, megvilágít egy fontos fogalmat, vagy leírja a követendő kódolási gyakorlatot.

Ez az ikon egy figyelmeztetést jelöl, ami segít megoldani egy idegesítő problémát. Csak a saját felelősségünkre hagyjuk figyelmen kívül!

Ez az ikon egy megjegyzést jelöl az ActionScript 2.0-ról, amelyben összehasonlítjuk az ActionScript 2.0-ban, illetve az ActionScript 3.0-ban tapasztalható viselkedést, hogy megkönnyítsük az átállást az ActionScript 3.0-ra, illetve hogy könnyebben megértsük a nyelv két változata között fennálló különbségeket.

A kódolásra és a szóhasználatra a könyv a következő szabályokat alkalmazza:

A this kulcsszót állandó szélességű betűvel írjuk, mert ez egy rejtett paraméter, amelyet átadunk egy függvénynek vagy tagfüggvénynek.

A this kulcsszó általában nem szerepel, amikor példánytagfüggvényekből hivatkozunk azonosítókra, de használjuk, hogy megkülönböztessük a példányváltozókat és példánytagfüggvényeket a paraméterektől és a helyi változóktól.

A kiolvasófüggvények és módosítófüggvények tárgyalása során kerüljük a hagyományos elérő (accessor), változtató (mutator), lekérdező (getter) és beállító (setter) kifejezéseket; helyettük a könyvben a nem hivatalos kiolvasófüggvény és módosítófüggvény kifejezéseket használjuk (lásd a 3. fejezetet).

A statikus változókat, statikus tagfüggvényeket, példányváltozókat, példánytagfüggvényeket és létrehozófüggvényeket (konstruktor tagfüggvényeket) tartalmazó osztály-meghatározásokban először a statikus változókat szerepeltetjük, ezt követik a statikus tagfüggvények, a példányváltozók, az osztály konstruktorfüggvénye, majd végül a példánytagfüggvények.

A könyvben az állandók nevét CSUPA NAGYBETŰVEL írjuk.

Amikor statikus változókra és statikus tagfüggvényekre hivatkozunk, a könyvben mindig feltüntetjük a változót vagy tagfüggvényt meghatározó osztály nevét.

Hacsak nem jelezzük, a függvényzáradékokra mindig a rövidebb függvény kifejezéssel hivatkozunk. A két kifejezés közötti különbséget az 5. fejezetben írjuk le.

A könyv feltételezi, hogy minden kódot szigorú módban fordítunk le, valamint a 7. fejezettől kezdve megadjuk a típusjelzést minden változóhoz, paraméterhez és visszatérési értékhez.

A könyvben szereplő eseményfigyelők neve az eseményNévListener formát követi, ahol az eseményNév az esemény karakterlánc formátumú neve.

 

Elérhetőségeink

A könyv tartalmát a legjobb tudásunk szerint ellenőriztük, de esetleg találhatunk benne olyan szolgáltatásokat, amelyek időközben megváltoztak (és természetesen mi is követhettünk el hibákat). Ha az Olvasó hibára bukkanna a könyvben, kérjük, jelezze nekünk, valamint ha javaslatai vannak a jövőbeli kiadásokkal kapcsolatban, azt is szívesen vesszük. A következő címre lehet írni nekünk:

O’Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

 

Telefon- és faxszámaink:

(800) 998-9938 (az Egyesült Államokban, illetve Kanadában)

(707) 829-0515 (nemzetközi/helyi)

(707) 829-0104 (fax)

 

Könyvünkhez egy webhely is kapcsolódik, ahol megtalálhatjuk a kötet hibajegyzékét, a példafájlokat, valamint további információkat. Az oldal a következő címen érhető el:

http://www.oreilly.com/catalog/9780596526948

Ha a könyvvel kapcsolatban technikai kérdéseink vagy észrevételeink vannak, erre a címre küldhetünk e-mailt:

bookquestions@oreilly.com

Könyveinkről, konferenciáinkról, szoftvereinkről, forrásközpontjainkról és az O’Reilly hálózatáról az alábbi webhelyen kaphatunk tájékoztatást:

http://www.oreilly.com

Safari® Enabled

Ha a Safari® Enabled ikont látjuk az egyik kedvenc számítógépes könyvünk borítóján, az azt jelenti, hogy a könyv az Interneten is elérhető, az O’Reilly Network Safari Bookshelfen keresztül. A Safari az e-könyveknél jobb megoldást kínál. Ez egy virtuális könyvtár, amelyben könnyen kereshetünk a legkeresettebb műszaki szakkönyvek ezrei között, átmásolhatunk belőlük kódpéldákat, letölthetünk fejezeteket, és gyorsan pontos választ kaphatunk a legégetőbb kérdésekre. A szolgáltatás ingyenesen kipróbálható a http://safari.oreilly.com címen.

 

Ez a könyv nem készülhetett volna el az Adobe és az O’Reilly rendületlen bizalma és aktív támogatása nélkül. 2005 nyarán ültünk le tárgyalni Steve Weiss-szel, Lisa Friendly-vel és Mike Chambersszel, és ekkor egyeztem bele, hogy megírom az ActionScript 3.0 a gyakorlatban című könyvet. A könyvet eredetileg „az Essential ActionScript 2.0 rövid frissítésének” szántuk, de ahogy az ActionScript 3.0 nyelv fejlődött, az új kötet is teljes könyvvé terebélyesedett. Az Adobe és az O’Reilly türelemmel és töretlen hittel viselte, hogy a könyv terjedelme jelentősen megnőtt, és hozzájárultak a kötet elkészülésére megszabott kilenc hónapos határidő két évre történő meghosszabításához. A munka során végig úgy éreztem, hogy helyes döntés született, és örülök, hogy az Adobe és az O’Reilly is így gondolta.

Miközben írtam a könyvet, az Adobe nagylelkűen teljes hozzáférést engedett nekem a belső forrásanyagaihoz, és mérnökei időt szakítottak a szakmai lektorálásra. Külön köszönettel tartozom JuLee Burdekinnek és Francis Chengnek az Adobe dokumentációs csapatából. Ők egyengették az utamat az Adobe-n belül, és türelmesen válaszoltak a kérdések látszólag végeláthatatlan sorára.

Az Adobe munkatársainak tucatjai láttak el információkkal és tanácsokkal a kutatómunka közben. Mindnyájuknak nagyon hálás vagyok, de külön köszönetet szeretnék mondani a következő személyeknek:

Francis Cheng folyamatosan tájékoztatott a nyelv magjával kapcsolatos tudnivalókról, és a könyv kéziratát elolvasva rendkívül értékes észrevételeket tett. Francis tagja az ECMAScript 4 bizottságnak, és egyike az ActionScript 3.0 szabványleírás kidolgozóinak.

Jeff Dyer következetesen időt szorított nekem a naptárában, hogy segítsen tisztázni az alapnyelvi fogalmakat és megkeresni a hibákat. Jeff egyike az ActionScript 3.0 fordító vezető fejlesztőinek, ő a fő szerzője az ActionScript 3.0 leírásának, és az ECMAScript 4 bizottságnak is kulcsfontosságú tagja.

Deneb Meketa türelmesen viselte, hogy félreértettem a Flash Player biztonsági rendszerét, és több mint egy hónapon át tartó intenzív munkával telefonon és e-mailekben segített kitisztázni a 19. fejezetet. Deneb a Flash Player biztonsági rendszerének megvalósításáért felelős mérnök.

Jeff Mott, a Flash Player egyik fejlesztője, kimerítő és szinte azonnali válaszokat adott az ActionScript eseményrendszerével kapcsolatos kérdéseimre.

Jim Corbett, aki szintén egyike a Flash Player fejlesztőinek, a megjelenítési listákkal és az eseménybetöltéssel kapcsolatos finomságok sokaságát segített megértenem.

Rebecca Sun, a Flash fejlesztőkörnyezet mérnöke, az ActionScript 3.0 fordítójának és a Flash CS3-nak a kapcsolatát magyarázta el nekem, valamint nyitottnak bizonyult a javaslataimra, és nem zökkentették ki azok a gyakori spontán kérdéseim sem, amelyek az azonnali üzenetküldésre vonatkoztak.

Lee Thomason, a Flash Player programozója, személyes leckéket adott a Flash Player szövegleképező motorjáról.

Roger Gonzalez, a Flex fordítójának programozója, az osztályok betöltésével és a Flex fordítóval kapcsolatban válaszolt rendszeresen a kérdéseimre.

Werner Sharp, a Flash Player mérnöke, a bitképprogramozás finomságait magyarázta el nekem az ActionScriptben.

Paul Betlem, a Flash Player mérnöki csapatának vezetője, a szakmai lektorálást fogta össze, és maga is több fejezetet ellenőrzött.

Mike Chambers, az Adobe AIR fejlesztői kapcsolatokért felelős vezető termékmenedzsere, rendszeresen műszaki információkkal látott el, és a könyv megírásában kezdettől fogva segédkezett.

Gary Grossman, az ActionScript eredeti megalkotója tanította meg nekem a nagy részét annak, amit ma a Flash-programozásról tudok. 2006 augusztusában Gary csatlakozott a Flash feltalálóihoz (Jon Gay-hez és Robert Tatsumihoz), hogy megalapítsanak egy új céget Software as Art néven. Webhelyük a http://www.softwareasart.com címen található.

 

Az Adobe csapatának korábbi és jelenlegi tagjai, akiket megtiszteltetés volt megismernem, és akikkel örülök, hogy együtt dolgozhattam: Mike Downey, Kevin Lynch, Paul Betlem, Edwin Smith, Christine Yarrow, Jeff Kamerer, Nigel Pegg, Matt Wobensmith, Thomas Reilly, Jethro Villegas, Rob Dixon, Jeff Swartz, Waleed Anbar, Chris Thilgen, Gilles Drieu, Nivesh Rajbhandari, Tei Ota, Akio Tanaka, Sumi Lim, Troy Evans, John Dowdell, Bentley Wolfe, Tinic Uro, Michael Williams, Sharon Seldon, Jonathan Gay, Robert Tatsumi, Pete Santangeli, Mark Anders, John Nack, Matt Chotin, Alex Harui, Gordon Smith, Sho Kuwamoto, Craig Goodman, Stefan Gruenwedel, Deepa Subramaniam, Ethan Malasky, Sean Kranzberg, Michael Morris, Eric Wittman, Jeremy Clark és Janice Pearce.

A következő táblázatban összefoglaltam a kötet szakmai lektorait, akiknek mély hálával tartozom.

Az Adobe szakmai lektorai

Küldött

Lektor Beosztás A lektorált fejezet e-mailek száma

Deneb Meketa Computer Scientist, Flash Platform 17 75

Erica Norton Senior Quality Engineer, Flash Player 14, 19, 21, 22 3

Francis Cheng Senior Technical Writer 1-11, 13, 15, 334 16, 18

Jeff Dyer Compiler Architect, ActionScript 17 106 Language Group

Jeff Mott Computer Scientist, Flash Player 12, 20-25 85 Engineering

Jim Corbett Senior Computer Scientist, 20, 23, 24, 28 52 Flash Player Engineering

Lee Thomason Architect, Flash Player 25, 27 33

Mike Chambers Senior Product Manager, Developer 1 89 Relations, Adobe AIR

Mike Richards Computer Scientist, Mobile and Devices 22-26 9

Paul Robertson ActionScript Developer/Writer 1, 2, 24, 27-31 14

Paul Betlem Senior Director, Flash Player Engineering 20, 27, 26 19

Rebecca Sun Computer Scientist, Flash Authoring 7, 29, 31 60

Robert Penner Senior Engineer, Flash Authoring 18, 23-25 16

Roger Gonzalez Flex Compiler Architect 25, 30, 31 64

Werner Sharp Senior Computer Scientist, 18, 22 35 Flash Player Engineering

 

Köszönet illeti Robyn Thomast, a köny szerkesztőjét, aki igen gyorsan és gondosan ellenőrizte és kitisztázta a kéziratot, valamint az O’Reilly vezetésének, szerkesztői, gyártási, belső tervezési, művészeti, marketinges és forgalmazói csapatának minden tagját, beleértve Tim O’Reilly-t, Steve Weisst és Karen Montgomery-t. Köszönet jár Philip Dangler olvasószekesztőnek is, aki segített következetessé, olvashatóvá és pontossá tenni a szöveget.

A könyv tartalmának helyességét és minőségét nem csak az Adobe szakmai lektorai ellenőrizték, hanem lelkes önkéntes tesztelők is: Brett Walker, Chafic Kazoun, Derek McKenna, Edwin van Rijkom, Greg Burch, Jim Armstrong, Jon Williams, Mark Jonkman, Matthew Keefe, Mauro Di Blasi, Ralf Bokelberg, Ric Ewing, Robin Debreuil és Victor Allen. Az ő segítségük pótolhatatlannak bizonyult: sok-sok következetlenséget és nehezen észrevehető kódolási hibát fedeztek fel. Mark Jonkman külön említést is érdemel, amiért rendkívüli alapossággal vizsgálta át a kéziratot és a kódpéldákat.

Programozóként és íróként két mentorom volt: Bruce Epstein és Derek Clayton. Bruce szerkesztette minden korábbi könyvemet, és amit tanultam tőle, az ma is hatással van minden egyes szóra, amit leírok. Derek a moock.org Unity nevű többbfelhasználós kiszolgálójának (http://www.moock.org/unity) megalkotója és jó barátom, akitől ma is rendszeresen kapok programozási ötleteket.

Természetesen egyetlen ECMAScript alapú nyelvről írt könyv sem lehet teljes anélkül, hogy el ne ismernénk Brendan Eich úttörő munkáját a JavaScript és az ECMAScript fejlesztése terén. Köszönjük, Brendan!

Végül, viszonozni szeretném a következő személyek szeretét és barátságát: James Porter, Graham Barton, Joe Duong, Tommy Jacobs, Wendy Schaffer, Andrew Harris, Dave Luxton, Dave Komlos, Marco Crawley, Eric Liphardt, Ken Reddick, Mike Linkovich, Matt Wearn, Mike Dobell, Mike „Nice”, Hoss Gifford, Erik Natzke, Jared Tarbell, Marcos Weskamp, Dan Albritton, Francis Bourre, Thijs Triemstra, Veronique Brossier, Saima Khokhar, Amit Pitaru, James Patterson, Joshua Davis, Branden Hall, Robert Hodgin, Shin Matsumura, Yugo Nakamura, Claus Whalers, Darron Schall, Mario Klingeman, Fumio Nonaka, Robert Reinhardt, Grant Skinner, és a Moock-család.

Colin Moock

2007. március

Toronto, Kanada

Vissza a könyv részletes adataihoz

Legutóbb látogatott oldalaim

Keresések Könyvek, termékek Kategóriák