Archiv ‘Flash’ kategorie

Google mapy 3d

Sobota, Duben 4th, 2009

Nedávno mě napadlo využít Google mapy a zkusit jejich 3d zobrazení pomocí Flashe CS4. Obával jsem se crossdomain zabezpečení, kdy nebude možné provádět 3d transformaci externích objektů, ale povedlo se:

Ovládání je jednoduché:

+ přiblížení
- oddálení
šipka vlevo/vpravo rotace
šipka nahoru/dolů pohybuje mapou
A,D pohybuje vlevo/vpravo mapkou
W,S rotuje mapu v X-ovém směru

Po zveřejnění článku na Flash.cz, který bude obsahovat jednodušší verzi mapky, tady zveřejním zroják.

Zdrojový soubor ukázky zde.

Flash CS4 - Break apart bug

Středa, Duben 1st, 2009

V české verzi Flashe CS4 jsem narazil na chybu, která se projevuje v okamžiku, kdy u celého MovieClipu zvolíme možnost rozbití na křivky - Break apart (Ctrl+B). Pokud rozbíjený MovieClip obsahuje jiné MovieClipy, jsou u nich odstraněny případné názvy instancí... nevím, jestli se to neprojevuje i v EN verzi Flashe CS4, zatím nemohu vyzkoušet.

Symbol Graphic a vložené MovieClipy

Čtvrtek, Březen 5th, 2009

Symboly typu Graphic moc nevyužívám a možná i proto mě poměrně zaujalo zjištění, jak se chovají na scéně. Graphic symbol nemůže mít název instance, proto jej nelze v AS2 ovládat (v AS3 to samozřejmě jde), ale co se stane, když do něj ručně vložíme (ve Flashi CS3/4) nějaký aktivní prvek (tlačítko, MovieClip) a odkážeme se na _parent objekt?  Scéna vypadá takto:

Pokud se v MovieClipu objekt_2 odkážeme na nadřazený objekt, dostaneme zpět referenci na objekt_1. Jak to bude vypadat z opačného směru při parsování pomocí AS3?:

var num:uint = objekt_1.numChildren;
trace("num: "+num);
for (var i:uint=0; i<num; i++) {
    trace(obj_mc.getChildAt(i));
    trace(obj_mc.getChildAt(i).name);
}

Výpis v output okně:

num: 2
[object Shape]
instance1
[object MovieClip]
objekt_2

Je tak potvrzeno, že pokud vložíme do Graphic symbolu jiný objekt, sice je jakoby uvnitř Graphic symbolu, ale reálně je na stejné úrovni jako samotný symbol Graphics. Je to celkem pochopitelné, protože Shape objekty nemohou obsahovat vložené objekty z DisplayObject třídy. Pouze prostředí Flashe CS3/4 může díky možnosti vkládání objektů do těchto Graphics symbolů přinášet trochu nejasností při jejich zpracování pomocí ActionScriptu.