Hallo,
Ik ben bezig met een site die nogal veel gebruik maakt van 'faders' ik heb een alpha fade en een colorFade geschreven om dit te doen. Alleen het probleem is dat de movie er erg traag van wordt als ie aan het rekenen is(de muis reageert laat, gewone tweens gaan langzamer)
het is te bekijken op: http://www.c32.nl/werkmap/pieter/jacob/
dit is het script dat ik gebruik:
en het script wordt op de volgende manier aangeroepen:
misschien is mijn script erg slordig geschreven waardoor hij het moeilijkt met alle variabelen maar ik ben net nieuw met Flash MX dus at weet ik niet...
/edit:
weet iemand welke fouten ik maak? of is dit gewoon normaal?
Ik ben bezig met een site die nogal veel gebruik maakt van 'faders' ik heb een alpha fade en een colorFade geschreven om dit te doen. Alleen het probleem is dat de movie er erg traag van wordt als ie aan het rekenen is(de muis reageert laat, gewone tweens gaan langzamer)
het is te bekijken op: http://www.c32.nl/werkmap/pieter/jacob/
dit is het script dat ik gebruik:
Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| function fade(mc, newAlpha, timer) { trace("alphafade"); step = 3; oldAlpha = mc._alpha; oldAlpha = Math.round(oldAlpha); newAlpha = Math.round(newAlpha); if(oldAlpha > newAlpha){ if((oldAplha-step) > newAlpha){ oldAlpha -= step; } else { oldAlpha--; } alphaFlag = true; } if(oldAlpha < newAlpha){ if((oldAlpha+step) < newAlpha){ oldAlpha += step; } else { oldAlpha++; } alphaFlag = true; } if(alphaFlag != true){ clearInterval(_root[timer]); } else { mc._alpha = oldAlpha; delete alphaFlag; } } function colorFade(mc, newLook, timer) { trace("colorFade"); step = 3; tmpColor = new Color(mc); oldLook = tmpColor.getTransform(); var colorFlag = false; for (t in oldLook) { oldLook[t] = Math.round(oldLook[t]); newLook[t] = Math.round(newLook[t]); if ((oldLook[t])>(newLook[t])) { if((oldLook[t]-step)>(newLook[t])) { oldLook[t] -= step; } else { oldlook[t]--; } colorFlag = true; } if ((oldLook[t])<(newLook[t])) { if ((oldLook[t]+step)<(newLook[t])) { oldLook[t] += step; } else { oldLook[t]++; } colorFlag = true; } } if(colorFlag != true) { clearInterval(_root[timer]); } else { var newColor = new Color(mc); newColor.setTransform(oldLook); delete colorFlag; } } |
en het script wordt op de volgende manier aangeroepen:
Flash ActionScript:
1
2
3
4
| vragenBtn.onRollOver = function() { clearInterval(_root.colorFadeTimer); _root.colorFadeTimer = setInterval(colorFade, 10, _root.kleurvlak, vragenClr, "colorFadeTimer"); }; |
misschien is mijn script erg slordig geschreven waardoor hij het moeilijkt met alle variabelen maar ik ben net nieuw met Flash MX dus at weet ik niet...
/edit:
weet iemand welke fouten ik maak? of is dit gewoon normaal?
[ Voor 5% gewijzigd door Verwijderd op 11-04-2003 18:05 . Reden: vraag vergeten ]