Autor Zpráva
compman
Profil *
Jak lze docílit efektu, který je známý už dříve z HTML (tam to bylo automaticky), a to, aby se mi opakoval nějaký obrázek (bitmapa) o malých rozměrech na pozadí .. (třeba 200x)? Lze to udelat nějakým scriptem, nebo se to musí manuálně přetahat z knihovny..
Hanz
Profil
V knihovně musíš té bitmapě nastavit Identifier na tvuj_nazev a registrační bod té bitmapy nastav na levý horní roh. Script potom použij tenhle:
for (i=0; i<200; i++) {

_root.attachMovie("tvuj_nazev", "nazev"+i, i);
posun_x = _root["nazev"+i]._width*i;
setProperty(_root["nazev"+i], _x, posun_x);
}
compman
Profil *
nejede mi to..asi proto, že jsem něco zkomolil..v knize o actionscriptu2 jen tak v 1/5 a tento typ scriptu ještě neznám....myslím, že chápu systém, jakým to má pracovat, ale nejede mi to, ani když zkouším různé varianty (obměňování tohoto scriptu) ... obrázek mám v knihovně jako graphic, název "background" a rozměry má X=216 a Y=18 pixelů .. můžete mi prosím napsat, jak bude ten script vypadat? (abych pochopil způsob dosazení). Děkuji.
Hanz
Profil
compman
for (i=0; i<200; i++) {
_root.attachMovie("background", "nazev"+i, i);
posun_x = _root["nazev"+i]._width*i;
setProperty(_root["nazev"+i], _x, posun_x);
}

Ale nestačí, aby se tak v knihovně jmenoval! Klikni na něj v knihovně pravým tlačítkem a dej Properties.. a tam zaškrtni Export for ActionScript a do pole Identifier napiš background
compman
Profil *
teď už to skutečně něco dělá, ale nezaplní to celý Stage. Zobrazí to buď "řádek" - podle toho _x anebo, kdyz tam dám _y, tak sloupec. obojí mi jaxi nejde dát dohromady, ani když ten celý script napíši 2x s rozdílem položek _x a _y.
flz
Profil
nezatazuju taketo veci procesor?
Timy
Profil
flz
určitě...

compman
Musíš použít dva vnořené cykly:

for (i=0; i<20; i++) {
for (j=0; j<20; j++) {
_root.attachMovie("background", "nazev"+i+j, i+j*25);
posun_x=_root["nazev"+i+j]._width*i;
_root["nazev"+i+j]._x=posun_x;
posun_y =_root["nazev"+i+j]._height*j;
_root["nazev"+i+j]._y=posun_y;
}
}

ty čísla v cyklech si uprav podle potřeby (myslím to for (i=0; i<20; i++) aby se ti to roztáhlo na celou plochu, ale pozor na to, že to číslo v attachMovie musí být vždycky větší než ty v cyklech --> _root.attachMovie("background", "nazev"+i+j, i+j*25); jinak se ti kostičky budou kopírovat do stejné hloubky a budou ti přemazávat staré kostičky a nevyjreslí se to tak správně
compman
Profil *
ok..jede to...díky....ale zajímalo by mě, zda je lepší:
1) tento způsob (ale pokud moc zatěžuje processor, tak nevím..)
2)udelat "linii" obrázků vodorovně v externím programu (uložit to jako 1 bitmapu) a potom to jen vložit svisle pod sebe
3)to nakopírovat z knihovny (i když to asi taky bude dost zatěžovat - hodně instancí)
4)vytvořit a uložit bitmapu o rozlišení 800x600 (velikost stage) a poté ji tam vložit celou

já teď řeším dilema mezi velikostí (kb) a zatěží processoru...co se vám zdá výhodnejší?
Hanz
Profil
compman
Nejvýhodnější je řešení číslo 3)
Zatěžovat to procesor nebude (semozřejmě, že bude, jako všechno, ale je to zanedbatelné).

1) Velmi zatíží procesor -> nedoporučuju. Jen jako krajní řešení
2) Výjde to nastejno jako trojka jen je to datově větší
3) Nejlepší řešení
4) Zbytečně velké
compman
Profil *
díky všem...to vkládání asi bude nejlepší, protože uvažuju, že bych dal u okrajů přechod do černé (použil jinou, upravenou bitmapu), nebo (pokud to jde) obdélník - na začátku _alpha 0 a postupné "ztmavování" až na 100..ovšem...takovéto věci taky docela dost zatěžují...(provedu ještě testy). .. thx all
Timy
Profil
_alpha je co se týče zatěžování procesoru nejhorší volba, pokud vím, nic nezatěžuje procesor jako změny průhlednosti:-)
compman
Profil *
textury mi tam trochu neladily při zvětšování a zmenšování stage, ale to jsem vyřešil vložením do HTML .. ostatně... dal jsem to na web.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0