Autor | Zpráva | ||
---|---|---|---|
Rív Profil * |
#1 · Zasláno: 2. 3. 2006, 10:47:31
Tak sem se začal učit ve flashi, mám malinko naprogramováno v PHP a ještě méně v JS, atak to nejsou zas takový muka... narazil jsem vška na problém. Pokoušel jsem se dělat položku, u níž by se při najetí plynule změnila průhlednost, což zas nebyl takový problém... horší je to, že když párkrát zkusím najet a sjet z položky, jako by se snižuje doba, za kteoru k přechodu dojde. Nevím co to je za problém, ale zkoušel jsem si takovou malou kontolu s dynamickým polem, které mi ukazovalo číselný průběh zprůhlednňování a zviditelňování - normálně dojde k přeměně průhlendosti od 100% do 20% a zpět od 20% do 100%, jen stále zrychluje (a občas se objevují i hodnoty v desetiných číslech což nepobíram). Nějaké rady co s tím ? Popřípadě jak to celé nějak zjednodušit/odlehčit ?
on (rollOver) |
||
Vit Profil |
#2 · Zasláno: 2. 3. 2006, 13:15:21
hmm děláš podle mně chybu v definování proměnné "i" kdy vystane problem že když na to najedeš dřív než to zmizí tak hodnota alpha je jina než když mněl na začátku.
|
||
Rív Profil * |
#3 · Zasláno: 2. 3. 2006, 13:27:32
To je naopak žádoucí, protože se počítá s tim, že na to můžeš najet dřív než se to vrátí do původního stavu, a v takovém případě potřebuješ aby to probíhalo od současný hodnoty. Musí se počítat s tim, že stávající honota může bejt v ten okamžik jakákoli, takže to by nijak ovlivnit nemělo.
Hm.... exportnu a postnu to sem. |
||
Rív Profil * |
#4 · Zasláno: 2. 3. 2006, 13:40:42
|
||
Časová prodleva: 4 měsíce
|
|||
krekoma Profil |
#5 · Zasláno: 12. 7. 2006, 15:50:23
problém je podle mne v tom, že ty neustále spouštíš časované provádění funkcí a nikdy toto spouštění nevypínáš. Po použití funkce setInterval() dostaneš identifikátor, pod kterým si můžeš představit časovač který spouští tvou funkci. Na vhodném místě pak musíš použít clearInterval(id), kde id je identifikátor toho časovače. Zjednodušeně řečeno pro každý setInterval bys měl použít clearInterval jinak se ti spouštění funkcí bude násobit a aplikace se bude chovat nestandardně.
|
||
Časová prodleva: 21 dní
|
|||
moltom Profil * |
#6 · Zasláno: 2. 8. 2006, 19:52:51
Tento problem ma zaujal, tak som sa nan pozrel a dospel som k takemuto rieseniuL=:
_root.onEnterFrame = function() { _global.alpha = _root.button3_mc._alpha; } var alphaDn:Number; var alphaU:Number; _root.button3_mc.onRollOver = function () { clearInterval(alphaU); alphaDn = setInterval(alphaDown,10); function alphaDown() { var i:Number= alpha; _root.alpha_txt.text = Math.round(i); if(i<=110 && i >30) { _root.button3_mc._alpha -= 3; } updateAfterEvent(); } } _root.button3_mc.onRollOut = function () { clearInterval(alphaDn); alphaU = setInterval(alphaUp,10); function alphaUp() { var i:Number= alpha; _root.alpha_txt.text = Math.round(i); if(i<=100 && i >0) { _root.button3_mc._alpha += 3; } updateAfterEvent(); } } Pricom staci na plochu umiestnit mc s nazvom button3_mc a tento script skopirovat na hlavnu casovu os... K spominanemu zrychleniu nedochadza, avsak problemom je v tomto pripade fakt, ze sa znizovanie/zvysovanie alphy nikdy nezastavi presne na hodnotach 100 a 20...to este treba nejako osetrit - najlepsie upravenim tych podmienok tak, aby sa hodnota i znizovala/zvysovala po desiatkach... tu sa to da pozriet... http://www.moltom.com/FLASH/blur.swf |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0