Archive: december, 2009

Legelőször is had ragadjam meg az alkalmat, hogy minden kedves olvasómnak Kellemes Karácsonyi Ünnepeket kívánjak.

A tartalom megtekintéséhez Flash Player-re van szükség.

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.

Tovább

A minap megnéztem az Avatart néhány barátommal. A film elég jó volt, bár hozta a tipikus hollywoodi felállást -> 0 történet + rakat effekt + látvány + látvány. De mindezek ellenére tényleg élvezetes 3 óra volt és nem bántam meg, hogy megnéztem. Ennyit a filmről, viszont elkezdet érdekelni, hogy egy ilyen látványos mozinak milyen lehet az oldala és gondoltam megnézem, hogyan próbálják eladni (normális ember ezt pont fordítva csinálná, de ez van). Viszont találtam egy érdekességet, a szokásos trailer mellet, volt egy „interaktív trailer” gomb is, gondoltam megnézem. Letöltöttem, és kiderült egy jó kis AIR alkalmazással van dolgom. Abszolút jó kis cucc, a színészek kommentálják saját karaktereiket, és sokkal több jelenet látható benne, mint a sima videóban. Én még nem láttam ilyet máshol, ha valaki tud még hasonló kezdeményezésről az commentben ossza meg pls. Viszont ha ez egy Adobe próbálkozás, akkor nagyon ötletes, hogy terjessze az AIR-t. Meglátjuk, hogy mennyire lesz ez bevált szokás.

Á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.

Tovább

Kicsit ugyan megkésve írok róla, de december 8-án megjelent egy újabb AIR verzió. Nagyvonalakban, amiket tartalmaz:

  • Flash Player verziófrissítés
  • Biztonsági frissítések
  • Bug fixek

Mind az SDK és a futtatókörnyezet is letölthető. A Release notesból többet is megtudhatjuk, illetve a fejlesztők blogjára is érdemes rápillantani.

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.

Tovább

A fenti kijelentésnek van bármi alapja? Hogyne lenne. Gondoljunk csak bele, hogy az internetes játékok közel 70%-a flash, és ne feledkezzünk meg a végtelen sok flexben íródott egyéb alkalmazásról. Ja és azt kihagytam, hogy ezek 99%-ban ingyenesek. Ha van internetkapcsolatunk ezek mind elérhetőek lennének, és az elérés a két legújabb típustól (3G,3Gs) kezdve 3G alapú, tehát több mint elég a sávszélesség. Aki esetleg attól félne, hogy mindez túl nagy adatforgalmat generálna, annak van egy jó hírem: nem! Ezt saját tapasztalatból mondhatom. Nekem is van egy iPhone 3G-m és az előfizetésem mellé jár fixen havi 2GB adatforgalom is, ezt a mennyiséget még soha nem sikerült túllépnem, pedig az e-mailezésemet 10 percenként frissíti automatikusan és emellett sokat netezem, plusz gyakran játszom multiplayer játékokat (havi átlag forgalmam kb. 500mb). Adatbázissal az adattárolás is megoldható lenne viszonylag egyszerűen.  Mindezek fényébe, azt kell hogy mondja nem egy alkalmazást lehetne így kiváltani. Pl: egyszerűbb játékok, todo listák, mindenféle chat progik, social networking appok és ne is beszéljünk azokról a hulladék 10 soros programokról, amikért 1 eurókat kérnek…

Én úgy gondolom, hogy ez az egyik nagyon erős ok, amiért az Apple nem hajlandó engedélyezni a flash tartalmakat a telefonon (kivétel persze a beépített YouTube program, de ez semmi másra nem jó). Ez nem meglepő hiszen, az Apple nem a telefoneladásokból szakítja a legnagyobbat, hanem az App Store-ból. Telefont csak egyszer veszel, viszont alkalmazásokat folyamatosan töltögeted és vásárolgatod. Eddig is voltak/lesznek lehetőségek, hogy ingyenesen jussunk fizetős alkalmazáshoz, de ezek, mint tudjuk illegálisak. Én személy szerint nem fűzök hozzá sok reményt, hogy valaha is lesz flash player az iPhone-ban, de azért érdekes eljátszani a gondolattal.

Valószínűleg ezt az Adobe is kezdi belátni, és ezért a „hegy megy Mohamedhez” elv alapján a Flash CS5 már képes lesz ipába fordítani, tehát ha megírunk valamit actionscriptben, az onnantól kezdve jó eséllyel megy a telefonunkon is. Meglátjuk, hogy sikerül majd ezt rendesen megoldani, de egyenlőre biztató dolgokat halhatunk a projektről.

Végeredményben én nagyon meg vagyok elégedve a készülékkel, nem véletlenül mozgat a flash+iphone kérdés ennyire. Egy szó, mint száz, emiatt a blogon is vissza fog köszönni néha –néha ez a téma.

Hát ehhez nem tudok sok mindent hozzáfűzni. Just play it!

[UPDATE: Mivel az imeem.com megszűnt (beépült a MySpacebe), és ezzel a stream szolgáltatás is megszűnt, ezért kénytelen voltam egy YouTubos videót beszúrni.]

A tartalom megtekintéséhez Flash Player-re van szükség.

A tovább után megtaláljátok a dalszöveget.
Tovább

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:

A tartalom megtekintéséhez Flash Player-re van szükség.

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.

Tovább