Archiv ‘Všeobecné’ kategorie

Tour de Flex a Facebook API

Středa, Duben 1st, 2009

Nedávno byla aktulizovaná výborná aplikace Tour de Flex: http://www.adobe.com/devnet/flex/tourdeflex/web/#

Další zajímovou novinkou je zveřejnění API pro Facebook:  http://code.google.com/p/facebook-actionscript-api/ To se ale zatím do aktualizace Tour de Flex nedostalo.

validateNow() ve Flexu

Čtvrtek, Březen 19th, 2009

Vložení komponenty v žádném případě neznamená, že lze ihned přistoupit k jejím vlastnostem, které plynou z její následné vizualizace a to především velikosti. Příkaz trace v tomto případě vrátí nulovou hodnotu:

var newBtn:Button = new Button();
newBtn.label = "Tlačítko";
container.addChild(newBtn);
trace("šířka: "+newBtn.height);//vrací nulovou hodnotu

Je to z toho důvodu, že vykreslení a aktualizace vlastností komponenty se děje postupně až při nejbližší "příležitosti" - novému renderování scény. Pomocí metody validateNow() lze spustit okamžitou aktualizaci komponenty, takže pak už je možné pracovat s její velikostí:

var newBtn:Button = new Button();
newBtn.label = "Tlačítko";
container.addChild(newBtn);
newBtn.validateNow();
trace("šířka: "+newBtn.height);
//vrátí hodnotu 22
//- defaultní u Button komponent

Pokud ovšem potřebujeme pracovat i se změnou velikosti komponenty, do které je například nové tlačítko vloženo, je nutné zavolat metodu validateNow() pro nadřazenou komponentu. Obecně je ale vždy vhodnější volat uvedenou metodu vždy z komponenty, která je nadřazená té, u které chceme okamžitě zjistit nové rozměry. Pro nadřazenou komponentu "container" z příkladu by tedy bylo vhodnější použít příkaz:

var newBtn:Button = new Button();
newBtn.label = "Tlačítko";
container.addChild(newBtn);
container.parent.validateNow();
trace("šířka: "+container.height);//vrátí
//novou výšku nadřazené komponenty containe

cs!=cn

Čtvrtek, Únor 26th, 2009

Po delší době jsem potřeboval nastavit něco ve flashplayeru, české prostředí je fajn, ovšem tlačítko "Další volby" nás celkem bezproblémů dovede na čínskou stránku nastavení flashplayeru. Uvidíme, jestli se tím budou zabývat. Více zde.

CS4 - easter eggs

Pondělí, Únor 23rd, 2009

Když jsem po několika dnech pracovního výpadku "náhodou" spustil Flash CS4, napadlo mě otestovat, jestli tvůrci dali na obvyklé místo (copyright u FLASH) "easter eggs".  Ale kliknutí pouze zpomalilo pohyb textu, takže jsem se přesunul na google a tam zjistil následující bodíky:

Jedná se o okno "About Flash CSx...", kde po kliknutí na copyright za Adobe nebo za Flash textem, dojde ke zpomalení pohybu textu. Navíc je aktivní i číslice 4, pod kterou se objeví známý přehled vývojového týmu:

Zip archiv pomocí ActionScriptu

Středa, Únor 18th, 2009

Na základě častých požadavků zákazníků se momentálně zabývám možností exportu PDF dokumentů z flashových aplikací. Nejjednodušší cesta je přímý tisk do PDF, ovšem jsou zde jistá omezení, především v rozlišení bitmapových objektů. Ideálním řešením se jeví MARS projekt, který umožňuje pomocí XML dokumentu popsat strukturu PDF dokumentu, který se následně vygeneruje pomocí pluginu v Acrobat Readeru.  Vše je ale nutné předem připravit jako ZIP archiv, což s ActionScriptem 3.0 není žádný problém. Metoda compress u ByteArray třídy nám to umožňuje. Jejích možností využívá aszip knihovna, díky které snadno vytvoříme ZIP archiv přímo ve flashové aplikaci. S využitím flashplayeru 10 pak nabídneme uživateli jeho přímé stažení. Podrobnější článek vyjde příští týden na flash.cz, zatím tedy krátká ukázka:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Script>
    <![CDATA[
        import org.aszip.saving.Method;
        import org.aszip.zip.ASZip;
        import mx.graphics.ImageSnapshot;
        private function saveZIP():void{
            var f_ref:FileReference = new FileReference();
            var png_snapshot:ImageSnapshot = ImageSnapshot.captureImage(comp);
            var zip:ASZip = new ASZip();
            zip.addDirectory("imgs");
            zip.addFile(png_snapshot.data,"imgs/img.png");
            f_ref.save(zip.saveZIP(Method.LOCAL),"archiv.zip");
        }
    ]]>
</mx:Script>
    <mx:Button click="saveZIP()" label="Uložit jako PNG v ZIPu"/>
    <mx:RichTextEditor id="comp" height="200" width="350">
    </mx:RichTextEditor>
</mx:Application>

IDnes a flashové video

Pondělí, Únor 9th, 2009

Portál IDnes oficiálně minulý týden uvedl přechod na "modernější" technologii , jak už jsem psal dříve, je pěkné, že byl konečně odstraněn WMV formát, ale je škoda, že se přehrávače chovají stále všelijak. Vynucená reklama jakoby běží, ale přitom neběží, samotné video se někdy objeví, někdy ne, tak snad se to povede časem vyladit do použitelné podoby a budeme moci tenhle projekt považovat za dobrou referenci flashové technologie.  Zatím to může působit spíše rozpačitě.

Text Layout Framework

Pondělí, Leden 19th, 2009

Na Adobe.labs jsou k otestování ukázky nových možností práce s textem: http://labs.adobe.com/technologies/textlayout/. Další kroky by měly následovat sem: http://corlan.org/2009/01/19/how-to-use-text-layout-framework-in-flex-32-or-air-15/ kde jsou nové možnosti částečně vysvětlené. Vypadá to na menší dovolenou, než se tím prokoušeme, ale možnosti jsou parádní!

Kolize dvou tlačítek

Pondělí, Leden 19th, 2009

Pokud jsou přes sebe umístěná dvě tlačítka a my potřebujeme to horní deaktivovat, může nás překvapit že v případě skriptu:

instance_horniho_tlacitka.enabled = false;

nebude fungovat spodní tlačítko v místech překryvu. Naštěstí se s tímto setkáme prakticky jenom v situacích, kdy je horní tlačítko průhledné, takže je řešením místo enabled nastavit atribut visible na false:

instance_tlacitka.visible = false;

Automatické opravy

Pondělí, Leden 5th, 2009

Automatické opravy ve wordu jsou fajn, ale občas opravují věci, které ve výsledku vypadají dost komicky. Když se mi povede něco najít před odesláním, jsem docela rád:

V jednom ze článků se zmiňuji o: "...  proměnná null "  ale automatika mě změnila konec slova proměnná a celé null na "análů". Ještě, že jsem to našel :)

Když jsem klientovi napsal, že chyba bude někde na manilovém serveru místo mailovém, bylo to také zajímavé.

Poslední, na kterou si teď vzpomínám se týkala jedné hry, kde jsem psal, že uživatel musí "vyklikat" správné odpovědi. Ani se nedivím, že se s tímhle podivným slovem automatika nechtěla smířit, takže jsem nakonec málem odeslal větu: Správné odpovědi musí uživatel vykoukat.

Konečně nový web

Pátek, Leden 2nd, 2009

Po předlouhé době jsem našel čas, doladil představy, zajistil novou doménu a rozhodl se, že už konečně musím začít publikovat i názory, které se do oficiálních tutoriálů nedají vměstnat a v neposlední řadě je zde i celá řada jíných zajímavých témat, o kterých se dá pár řádek napsat.

(more...)