ActionScript 3.0 a gyakorlatban

Hasonló dokumentumok
Köszönetnyilvánítás xxxi A szerzõrõl xxxv

Flex: csak rugalmasan!

A szerzõrõl... xi Bevezetés... xiii

A szerzõrõl... vii Köszönetnyilvánítás... ix Bevezetés... xi A könyv példakódjai... xiii Áttekintés... xv Tartalomjegyzék... xvii

Java I. A Java programozási nyelv

Web-fejlesztés NGM_IN002_1

Internet programozása. 1. előadás

RIA Rich Internet Application

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Java programozási nyelv 6. rész Java a gyakorlatban

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

SystemDiagnostics. Magyar

Már megismert fogalmak áttekintése

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

Hardver és szoftver követelmények

Telepítési útmutató a SMART Notebook 10 SP1 szoftverhez

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Fehér Krisztián. Navigációs szoftverek fejlesztése Androidra

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

2 Androidos szoftverfejlesztés alapfokon

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Félkövér, állandó szélességû betû A felhasználó által a megadottal megegyezõen beírandó parancsokat, illetve más szövegeket

1. Bevezetés A C++ nem objektumorientált újdonságai 3

A szerzõrõl... xiii Bevezetés... xv

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

A L i n u x r u h á j a

Az Educatio weboldalain elhelyezhető hirdetések technikai paraméterei

Nagyméretű banner megjelenések a Lovasok.hu oldalon

Értékelés a BUS programhoz elkészült termékek magyar változatáról Készítette: Animatus Kft. Jókay Tamás január 07.

Regionális forduló november 19.

Programozási nyelvek (ADA)

Bemutató anyag. Flash dinamikus weboldal adminisztrációs felület. Flash-Com Számítástechnikai Kft Minden jog fenntartva!

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Telepítési útmutató a SMART Notebook 10.6 oktatói szoftverhez

George Shepherd. 1. A webes alkalmazások alapjai 1

Telepítési útmutató a SMART Response 2009 szoftverhez

Regionális forduló november 19.

OOP. Alapelvek Elek Tibor

Tegyünk nagyszerű dolgokat!

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Osztályok. 4. gyakorlat

3. Osztályok II. Programozás II

Adatbázis és szoftverfejlesztés elmélet

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv

Nagyméretű banner megjelenések a Lovasok.hu oldalon

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

A JavaScript főbb tulajdonságai

Iman 3.0 szoftverdokumentáció

Gyakorlati vizsgatevékenység A

Microsoft Office PowerPoint 2007 fájlműveletei

VBA makrók aláírása Office 2007 esetén

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Általános tájékoztató szolgáltatások megrendeléséhez

iseries Client Access Express - Mielőtt elkezdi

Gyakorlati vizsgatevékenység A

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

Interfészek. PPT 2007/2008 tavasz.

Bluetooth párosítás. Felhasználói útmutató

Bevezetés, a C++ osztályok. Pere László

Delphi programozás I.

Gyorskalauz a Windowshoz készült asztali Novell Filr alkalmazáshoz

Gyakorlati vizsgatevékenység B

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

E-learning tananyagfejlesztő képzés tematika oktatott modulok

Bevezetés a programozásba I.

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Java I. A Java programozási nyelv

3 A hálózati kamera beállítása LAN hálózaton keresztül

Előszó A Windows alkalmazásfejlesztés rövid története A Windows életútja A Windows 8 paradigmaváltása... 16

Vizuális, eseményvezérelt programozás XI.

Webes alkalmazások fejlesztése

Az image objektum. Az image eseménykezel i. Képek el zetes betöltése. Feladat. Váltóképek készítése

Telepítési megjegyzések Windows 7 és Windows Server 2008 R2 felhasználók részére

Regionális forduló november 18.

AirPrint útmutató. 0 verzió HUN

Bevezetés a Programozásba II 4. előadás. Adattípusok hordozhatósága

Google Cloud Print útmutató

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Android alapok. Android játékfejlesztés


Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

Debian mint Desktop Operációs rendszer

Internetes alkalmazásfejlesztő képzés tematika oktatott modulok

Programozás I. gyakorlat

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows7 operációs rendszer és Internet Explorer 8-es verziójú böngésző esetén

Ez a felhasználói útmutató a következő modellekre vonatkozik:

A FileZilla program beállítása az első belépés alkalmával

Dropbox - online fájltárolás és megosztás

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

Ez a Használati útmutató az alábbi modellekre vonatkozik:

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

Albacomp RI Rendszerintegrációs Kft Székesfehérvár, Mártírok útja 9. E K O P - 1. A. 2 - A D A T Á L L O M Á N Y O K

AWK programozás, minták, vezérlési szerkezetek

Átírás:

Bevezetés 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

xx ActionScript 3.0 a gyakorlatban 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.

ActionScript 3.0 a gyakorlatban xxi 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 Action- Script 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;

xxii ActionScript 3.0 a gyakorlatban 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. Tipp 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.

ActionScript 3.0 a gyakorlatban xxiii 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

xxiv ActionScript 3.0 a gyakorlatban 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 Flashfejlesztõk és -tervezõk testreszabhatnak.

ActionScript 3.0 a gyakorlatban xxv 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. Figyelem! 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 Action- Scriptben. 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 Action- Script 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.

xxvi ActionScript 3.0 a gyakorlatban 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ó-

ActionScript 3.0 a gyakorlatban xxvii 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 Dõlt 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û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.

xxviii ActionScript 3.0 a gyakorlatban Á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) Tipp Figyelem! 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! Megjegyzés 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álymeghatá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.

ActionScript 3.0 a gyakorlatban xxix 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.