kategória: ‘actionscript’
Most hogy végre véget értek vizsgáim, és ki tudtam szállni a mókuskerékből, gondoltam valami hasznos, de mégis könnyed témával folytatom. A statikusság egy elég hasznos dolog, ha azt szeretnénk, hogy programunk kicsit hatékonyabb legyen, vagy esetleg csak megakarjuk könnyíteni a saját életünket. Azt már mindenki tudja, hogy ha felveszünk egy adattagot egy osztályba, akkor példányosításnál létrejön minden példányhoz ez az adattag, tehát az osztályok egyes példányaihoz tartozik. A statikusság lényege abban rejlik, hogy a statikus változók/függvények magához osztályhoz tartoznak. Amikor példányosítunk, nem jön létre belőlünk egy „másolat”, csak egy darab létezik belőlük.
Az első 2010-es postomba, legelőszőr is mindenkinek Boldog Új Évet szeretnék kívánni.
Sok ingyenes alkalm
azás van az AppStore-ban, de sajnos a legtöbb selejt. Azonban ez a kis apró iPhone program annak ellenére, hogy ingyen van, egy remek kis referencia as3-hoz (ezenkívül még helyet kapott: Adobe AIR 1.5, Adobe Flex 3.2 és Flash Player 10 API referencia is), ami végeredményben megegyezik az adobe oldalán találhatóval. Viszont van 2 nagy előnye: sokkal kényelmesebb a használata, mint ha safariban böngésznénk a hivatalos verziót, ill. nem kell hozzá internet kapcsolat. Nagyon hasznos tud lenni, ha csak meg szeretnénk nézni valami apróságot. Én például gyakran használom arra, hogy ha beugrik egy ötlet, akkor megnézem, hogy milyen lehetőségeket kínál erre a nyelv.
Ezenfelül nem sokat tudok még hozzá fűzni, keveset tud, de azt stabilan. Aki kedvet kapott hozzá, és rendelkezik egy iPhone-nal (2.2-es OS, vagy nagyobb) az itt letöltheti ingyenesen.
Legelőször is had ragadjam meg az alkalmat, hogy minden kedves olvasómnak Kellemes Karácsonyi Ünnepeket kívánjak.
Karácsony alkalmával a fenti kis hóesés effekttel készültem. Ezt a kódot nem fogom teljes egészében bemutatni, csak bizonyos részleteire hívom fel majd a figyelmet. Részletek a tovább után.
Általános értelemben az események olyan futásidejű történések, amelyekkel a tervezés szakaszában még nem ismerünk előre (leüti-e a billentyűt, ha igen melyiket), ezek kézbentartásában segít nekünk az eseménykezelés. Az események szerves részét képezik az actionscript 3-nak + ezen kívül nem tudnánk programjainkat interaktívvá varázsolni. Mivel ilyen fontos a szerepük, ezért a nyelv alkotó egy elég jól átgondolt rendszert, és sok nyelvi eszközt sorakoztat fel a segítségünkre. Ebben a postban mi csak az eseménykezelés alapjaival ismerkedünk meg. Alapvetően 2 féle esemény létezik as3-ban: beépített és az általunk készítettek, Mi most az előbbivel fogunk foglalkozni.
Először nézzük, meg miként is történik egy eseményhívás.
Megnézzük, hogyan tudjuk a flash player „jobb klikk” menüjét az úgynevezett Context Menut-t actionscript 3-ban testreszabni. Mire is jó ez nekünk. Például, ha nem szeretnénk, hogy a felhasználó tudja zoomolni a flash tartalmat, akkor kivehetjük azt a menüből, ugyan így ha azt akarjuk, hogy csak maximum minőségen legyen elérhető, akkor letilthatjuk a quality funkciót. És persze lehetőségünk van a tartalom vezérlésére is stb. Ez egy kis apróságnak tűnhet, de egy jól elkészített programot is el tudnak rontani a zavaró részletek.
Természetes elvárás, hogy actionscriptben is tudjunk a HTML típusúhoz hasonló linkeket készíteni. Ebben a tutoriálban megnézzük hogyan is kell megcsinálni.
Ezt fogjuk elkészíteni:
Nagyon egyszerű dolgunk van, mert az as3 biztosít nekünk erre egy külön utasítást: navigateToURL(). A referenciában ezt olvashatjuk róla: navigateToURL(request:URLRequest, window:String = null) :void. Tehát meg kell adnunk egy URLRequest típusú változót, és valamilyen stringet, illetve nem tér vissza semmivel a függvényünk, tehát egy eljárás. De mi is az az URLRequest? Ez az objektum végeredményben egy külső erőforrás helyt írja le. Az hogy milyen hálózati protokollokat (http, https, ftb, stb.) használhatunk oprendszer függő, tehát figyeljünk, mit használunk, mert elképzelhető, hogy egyes helyeken ez hibához vezet. Esetünkben ez nem probléma, mert http-t fogunk használni. Nézzünk is akkor egy példát.
Ez a néhány sor arról fog szólni, hogy miként tudjuk implementálni a verem (stack) adatszerkezetet as3-ban. Azoknak, akik nem tudnák, hogy mi is az a verem leírom néhány sorban, a többiek nyugodtan ugorjanak a következő bekezdéshez. Ez egy LIFO szerkezet (Last-In First-Out), igazából nagyon szemléletes a neve, mert, ha bedobáljuk az elemeket, közülük mindig csak az utolsót láthatjuk, és ahhoz tudunk csak hozzáférni, ha meg akarjuk tudni, mi van alatta ki kell vennünk. A reprezentáció általában aritmetikai (tömbös), de lehet láncolt is. Műveletei: Push – betesz egy elemet a verembe, Pop – kivesz egy elemet, Top – megmondja mi a legfelső elem, IsEmpty – megadja, hogy üres-e a vermünk. Az ok, amiért ezt az adatszerkezetet választottam azaz, hogy elég egyszerű, de mégis szemléletes, ill. rengeteg gyakorlati alkalmazása van (végrehajtási verem, fordítóprogramok szintaktikai helyességellenőrzése, és még sorolhatnám). A kis fejtágítás után kezdjünk is bele a megvalósításba.
Tovább
Ebben a postban kicsit megvizsgáljuk közelebbről az objektumorientáltság fogalmát, és hogy milyen eszközöket kínál erre az Actionscript.
A programozásban manapság két paradigmát érdemes megemlíteni, a Funkcionálisat (Haskell, Clean, stb.) és az Imperatívat (C++, Java, Actionscript, stb.). Mi az Imperatívval fogunk foglalkozni, ebből fejlődött ki az objektumorientált programozás.
Én úgy gondolom, hogy csak az tud igazán hatékony programozóvá válni, aki tisztában van a típus fogalmával. Gondolom, mindenkinek van valamilyen képe erről a fogalomról. Vannak ugye a legáltalánosabb típusaink: char, integer, string, stb.. Tovább