re: Genin
Köszi szépen előre is.
re: Genin
Köszi szépen előre is.
re: Genin
A curveTo-nal tenyleg latszik a "riceges", amikor nem ugyanoda jonnek ki a pontok.
re: Genin
meglatszik a grafika targy hallgatasa ezen a hsz-en, nagyon helyes!:)
re: balta
ugy ertem nem a koregyenletet hasznalja, csak kozeliti (lasd Genin)
re: eldo
szia, megnyitni sikerült, csak átnézni még nem volt időm. de ma már lesz, ne aggódj ;D
re: balta
nincs vele baj :) a curveto lényegében a 3 pontos bezier görbe (ami szintén sok kis egyenesből rajzolja ki a görbét) ekkor a görbe egyenletét határozod meg, ami rásimul a körre. ahogy néztem, nem bonyolult kiszámolni a görbe tangenseit, de (gondolom a kerekítések miatt) az animációnál "receg" kicsit a kör.
lineto-nál, mivel direktbe a kör pontjait számolod ki, mindig ugyanoda rajzolod a szakaszokat, és szép lesz az anim.
itt egy példa a két megvalósításra: http://users.hszk.bme.hu/~cb489/flash/tortaszelet_rajzolas.swf
a curveto-hoz a linkeden lévő Wedge osztályt használtam, a lineto-hoz pedig ezt a fv-t írtam ;)
function torta(s:Sprite, u:Number, v:Number, r:Number, deg:Number){ var px:Number = u+r; var py:Number = v; s.graphics.moveTo(u, v); s.graphics.lineTo(px, py); for(var i:uint = 1; i < deg+1; i++){ var rad:Number = i * Math.PI / 180; var px2:Number = (px - u) * Math.cos(rad) - (py - v) * Math.sin(rad) + u; var py2:Number = (px - u) * Math.sin(rad) + (py - v) * Math.cos(rad) + v; s.graphics.lineTo(px2, py2); } s.graphics.lineTo(u, v); }
re: grizzly
inkabb hogyan mentsunk meg szarul megirt swf-eket volt a tema. :)
re: grizzly
kor iv-rol volt szo.
re: tenegri
Akkor nem sikerult mindent vegigolvasnom, tehat az volt a cel hogy ne kelljen ujbol visszatolteni es ehhez loadBytes kell!
re: balta
az nem kort rajzol
re: grizzly
Már hogy mihez képest jobb? :) Amit balta szeretett volna, azt máshogy nem nagyon lehet megcsinálni, legfeljebb újbóli betöltéssel kívülről (Loader, load()), annál meg azért mégis csak jobb házon belül elintézni. Bár a végeredményen valószínűleg nem sok különbség látszana, így tkp. mindegy.
re: Genin
A curveTo-val mi a baj ? :)
re: Genin
Szia!
Sikerült már megnézni a Flash-t?
re: sombrio
persze. a trükk, hogy sok kis egyenes szakaszt elég távolról nézve görbének lát az ember (vagyis a lineTo()-val meg tudod rajzolni). ehhez még a kör egyenletét kell ismerned, amit középiskolában elvben mindenki tanult ;)
re: sombrio
en nem tudok rola hogy lenne beepitett megoldas, de rajzolassal (drawing api) + maszkkal megoldhato
Lehet as3-ban körcikket generálni, ha igen hogyan?
előre is köszi
re: tenegri
lehet kerdesem? Miert jobb urlloader-rel + loadBytes-os trukkozessel a helyzet? Csak sebessegben jobb ? De ha igen akkor sem ertem miert lesz jobb:)
re: tenegri
Ugy nez ki sikerult. Ezer koszi! Mar epp kezdtem pipa lenni. Az egyetlen gebasz, hogy enterframe-re kell attennem a preloader-t mert az URLLoader progress esemenye nem az igazi. Illetve ez is beugrott, hogy az swf-el jo legyen:
l.dataFormat = URLLoaderDataFormat.BINARY;
Mellekesen majdnem ketszer olyan gyorsnak tunik, mint Loader-rel.
re: balta
Pl. egy URLLoader-rel betöltöd az swf-eket egy-egy ByteArray-be, aztán egy Loader loadBytes()-ával ezekből betöltöd és megjeleníted a tartalmukat. Mikor épp nem kell vmelyik, a Loader unloadAndStop()-jával lelövöd és kitakarítod (jó esetben persze :)), aztán ha megint kell vmelyik, akkor jöhet újra loadBytes()-szal. Vagy loadBytes() helyett még betöltheted sima load()-dal is mindig újra, végül is az sem lesz nagyon lassú, mert másodszorra úgyis gyorsítótárból jön, de a loadBytes() szebbnek tűnik. És még jobb lenne persze, ha a betöltött mozik kellően intelligensek lennének, hogy takarítsanak maguk után.
re: balta
A removeChild()-nak nem az a feladata, hogy vmiféle "alaphelyzetbe" állítson objektumokat. Eleve csak egy objektum saját maga tudhatja, hogy mi lenne neki az alaphelyzete (ha lenne ilyenje), kívülről hogy is lehetne ezt megmondani neki. Ha nem elég intelligens a betöltött Flash mozid, akkor használat után dobd el és töltsd be újra, amikor megint kell (ilyenkor praktikus lehet a loadBytes() és az unloadAndStop()).
re: tenegri
Ugy nez ki ez lesz a gond. De azt meg mindig nem ertem, hogy miert nem tudom ugy torolni az mc-bol, mintha elotte meg soha nem lett volna hozzadva a listahoz.
re: balta
Biztos van ott még valami az idézett kódon kívül is. Ha duplán jelenik meg ugyanaz, akkor bizonyára még egyszer betöltöd, mert ugyanaz a megjelenítő objektum két helyen nem tud lenni egyszerre. A kód ilyen formában nem okozná a leírt jelenséget, bár azért tökéletesnek sem mondható (pl. a removeChild() előtt nem ellenőrzöd, hogy tényleg az adott szülő gyereke-e, mert ha nem, akkor az hibát eredményez). Vagy még az lehet, hogy a betöltött mozikban script hozza létre a tartalmat, s az újbóli elindulás (addChild() -> ADDED_TO_STAGE) előtt nem takarítja el a korábbi nyomait, így újra létrehozza és megjeleníti azt.
re: vizoli
egyer megnyomom a right gombot:
minden ok, elso mc eltunt masodik megjelnt es fut.
megnyomom a left gombot:
elso visszajonde mar duplan tehat ott maradt a regi is es megjelent egy uj a tetejen.
Zárolt topik, további üzenetek írása nem lehetséges.