PDA

Volledige versie bekijken : fade in fade out met AS


MrPee
%Europe/Berlin %914 %2007, 21:56
Ik wil een button maken waar bij hover een plusje infade voor de tekst in de button.
Als een normale button weet ik dit wel te maken, maar het probleem daar mee is dat wanneer je met je muis er op komt het plusje van alpha 0 naar alpha 100 gaat, maar als de muis ervanaf komt gaat hij vanaf alpha 100 naar alpha 0. Stel nu dat de fade-in nog maar bij 75 of 25 of wat dan ook is gaat hij bij rollout meteen naar alpha 100.
Zoals te begrijpen is is dat effect niet zo soepel als ik zou willen.
Ik weet dat dit met actionscript op te lossen is, maar ik heb geen flauw idee wat de code daar voor is of hoe ik het precies aan moet pakken. Ben nog niet zo ver met het leren van Actionscript.
Ik heb al rondgezocht, maar ik heb het niet duidelijk kunnen vinden. Te weinig om mee verder te kunnen.

Wie kan helpen? bedankt...

Laiverd
%Europe/Berlin %944 %2007, 22:39
Zou je bv. kunnen doen met een onEnterFrame; je verlaagt (of verhoogt) dan de _alpha waarde tot waar je wil (hiervoor dus een if statement gebruiken). Bij rollOver en rollOut verwijder (delete) je dan weer de onEnterFrame en start een nieuwe.

Globale opzet

btn.onRollOver = function(){
delete this.onEnterFrame;
this.onEnterFrame = function(){
// infade of uitfade code met if check
}
}
btn.onRollOut = function(){
delete this.onEnterFrame;
this.onEnterFrame = function(){
// uitfade of infade code met if check
}
}Dat zou je genoeg moeten geven om te starten. En denk erom: bij in/uitfaden dus niet beginnen bij 0 of 100, maar bij de huidige _alpha waarde.

John

MrPee
%Europe/Berlin %457 %2007, 11:58
Ben idd nu al een eind gekomen, maar die infade of uitfade code met ifcheck wil me niet lukken. Heb nog rondgezocht maar kan niets vinden. Kan iemand mij nog een zetje geven?

vane
%Europe/Berlin %468 %2007, 12:14
if(joumc._alpha == 100){
trace"klaaar")
}

MrPee
%Europe/Berlin %489 %2007, 12:45
nou nog niet zo klaar bij mij,, snap hem niet :S heb helemaal geen ervaring met trace

Alassea
%Europe/Berlin %496 %2007, 12:54
Je kunt ook in de rollout functie this._alpha gebruiken als beginwaarde? dan begint de alpha altijd af te lopen vanaf de waarde op dat moment.

MrPee
%Europe/Berlin %643 %2007, 16:26
volgens mij wordt het probleem dat ik op dit moment heb niet goed begrepen. ik weet helemaal niet wat voor fade in fade out code ik moet gebruiken in mijn geval, ik heb niets op internet kunnen vinden dat voor mij tot toepassing is.

Dus wat ik nodig heb,, aub de "gehele" code die voor mij van toepassing is

dank je

BernardV
%Europe/Berlin %645 %2007, 16:29
volgens mij wordt het probleem dat ik op dit moment heb niet goed begrepen. ik weet helemaal niet wat voor fade in fade out code ik moet gebruiken in mijn geval, ik heb niets op internet kunnen vinden dat voor mij tot toepassing is.

Dus wat ik nodig heb,, aub de "gehele" code die voor mij van toepassing is

dank je

aub deze thread http://www.flashfocus.nl/forum/showthread.php?t=6338 goed doorlezen en de flash help. Zoek op "_alpha"

dank je

MrPee
%Europe/Berlin %512 %2007, 13:17
dit is niet wat ik zoek...
ik kan de juiste code niet vinden om: (ik leg het nog even kort uit)
een mc in te laten faden van 0 naar 100 als hij in rollover gaat en bij rollout moet hij weer terug. Maar! (hierbij komt waarschijnlijk de if-check erbij waar Laiverd het over had) als je snel over de movieclip gaat zal hij niet de tijd hebben om helemaal tot 100 te gaan dus zal hij ook bij alpha 35 ofzo ook vanaf alpha 35 moeten teruglopen.
Ik heb hier al een hele tijd naar gezocht. Ook bij de showthread waar jij mij naar verwees BernardV maar daar ben ik niet wijzer uit geworden.
Wat Laiverd zei hielp me al een stuk op de weg alleen ik weet echt niet hoe ik het moet aanpakken om al de tips die me nu al zijn gegeven te verwerken tot de juiste code. Zo'n expert ben ik nog niet. Wie kan helpen?

BernardV
%Europe/Berlin %545 %2007, 14:04
btn.onRollOver = function(){
delete this.onEnterFrame;
this.onEnterFrame = function(){
this._alpha +=5;
if(this._alpha >=100) {
delete this.onEnterFrame;
this._alpha=100;
}
}
}
btn.onRollOut = function(){
delete this.onEnterFrame;
this.onEnterFrame = function(){
this._alpha -=5;
if(this._alpha <=0) {
delete this.onEnterFrame;
this._alpha=0;
}
}
}

MrPee
%Europe/Berlin %678 %2007, 17:17
aah geweldig, hier kan ik denk ik wel wat mee,, sorry voor de moeite hoor, maar snapte er niet veel van P) [^]

BernardV
%Europe/Berlin %688 %2007, 17:31
... sorry voor de moeite hoor...
Geen probleem hoor, vind het al fijn dat je dingen hebt doorgelezen :)
En daarbij het was copy-paste van laiverd en even wat regels toevoegen...