![]() ![]() ![]() ![]() ![]()
Martin Hozφk |
PreloaderNejd°φve k Φemu preloader je. Mo₧nß jste se setkali s problΘmem, ₧e u velkΘ animace spouÜt∞nΘ z internetu dochßzφ prvnφch 10-30 sekund k nep°φjemnΘmu trhßnφ. Je to zp∙sobeno tφm, ₧e se animace p°ehrßvß rychleji, ne₧ se staΦφ naΦφtat p°es pomalou modemovou linku. Preloader animaci zastavφ na zaΦßtku a pustφ ji dßl a₧ je celß naΦtenß. My si te∩ spoleΦn∞ vytvo°φme preloader, kter² ukazuje naΦtenΘ procenta. Nejprve si vytvo°φme MovieClip do kterΘho nakreslφme rßmeΦek, kter² se potom bude zv∞tÜovat b∞hem naΦφtßnφ:
Zde se fantazii meze nekladou. Je velmi d∙le₧itß pozice st°edu (symbol +). Pokud budeme chtφt, aby se obdΘlnφk zv∞tÜoval sm∞rem doprava, musφme ho nakreslit tak, aby byl st°ed na jeho levΘm konci. Nynφ si na zaΦßtek naÜφ animace vyΦlenφme 2 snφmky a do nich vlo₧φme instanci MovieClipu a nazveme ji nap°φklad "prubeh" Nßsledn∞ vytvo°φme novou vrstvu a do druhΘho snφmku vlo₧φme tyto akce: loading = Math.round(getBytesLoaded()/getBytesTotal()*100); setProperty(prubeh, _xscale, loading); if (loading == 100) { play(); } else { gotoAndPlay(1); } Na samΘm zaΦßtku je definovanß prom∞nnß "loading" jako zaokrouhlenß hodnota (Math.round) v²razu: "naΦtenß data/celkovß data * 100". Na dalÜφm °ßdku je definovßna procentußlnφ Üφ°ka instance "prubeh" jako hodnota prom∞nnΘ "loading". Nakonec nßsleduje podmφnka, ₧e pokud dosßhne prom∞nnß "loading" hodnoty 100 mß pokraΦovat p°ehrßvßnφ, pokud ne, mß se vrßtit na snφmek 1. Do animace jeÜt∞ m∙₧ete vlo₧it Dynamic Text, kter² bude zobrazovat hodnotu prom∞nnΘ "loading" a p°φpadn∞ orßmovat naΦφtacφ pßsek.
Nakonec ale nezapome≥te definovat instanci "prubeh" Üφ°ku 0%, jinak by se na zaΦßtku naΦφtßnφ objevila v plnΘ velikosti. |
![]() |
![]() |