14. marts 2005 - 23:43Der er
36 kommentarer og 1 løsning
sætte visible på flere movieclips
Jeg har en stribe med movieclips som jeg har navngivet med nummer; altså billede1_mc, billede2_mc osv. Nu skal jeg (bl.a.) have lavet en alpha til 0 på alle clips. Kan man ikke gøre det via script istedet for at jeg skal skrive alpha = 0 til alle mc'erne?
Burde dette ikke virke? on (release) { clearInterval(fadeOut); function fadeOutBike() { var antal_clips = 19; for (var i = 0; i<antal_clips; i++) { _parent["bike"+i+"_mc"]._alpha -= 5; if (_parent["bike"+i+"_mc"]._alpha<=0) { clearInterval(fadeOut); } } } fadeOut = setInterval(fadeOutBike, 50);
jo, det starter ved bike1_mc og op til 19. Det fungere således: Tryk på en knap, og et billede fader op. Tryk på en anden knap og billedet til den knap fader op og de det andet fader ned.
Nu har jeg fået det til at virke, men nu er problemet at den ikke deleter onEnterframe. Jeg kan via tracen se at den køre i en uendelighed.
function fade() { trace(this._alpha) this._alpha += this.alpha_step; if (this.alpha == this.end_alpha) delete this.onEnterFrame; } var prev_mc = null; function fadeMovieclip(mc) { if (prev_mc) { prev_mc.alpha_step = -5; prev_mc.end_alpha = 0; prev_mc.onEnterFrame = fade; } prev_mc = mc; mc.alpha_step = 5; mc.end_alpha = 100; mc.onEnterFrame = fade; }
Hvis jeg ændrer if (this.alpha == this.end_alpha) delete this.onEnterFrame; til if (this.alpha >= this.end_alpha) delete this.onEnterFrame; Så kører den kun 1 step og stopper.
Nu kommer næste problem så... Når man klikker flere gange på samme billede, bliver det fnidret i kanten. Ligesom hvis _alpha er over 100. Og hvis man klikker hurtigt på de forskellige knapper efter hinanden går der også kuk i det.
Jeg prøver mig lidt frem. Jeg tror dit script gjorde hvad det skulle... det virkede bare ikke. Derfor har jeg prøvet at ændre det for at det skulle virke. Og det gør det nu. Altså delvist. Hvis man trykker på knappen 1 gang fader billede1 op. Trykker man på knap2 fader billede2 op og 1 ud. Præcis som det skal. MEN hvis man trykker hurtigt på henholdvis knap1 og knap 2 efter hinanden går der kuk i fadningen. Jeg kan heller ikke få det til at fungere når jeg smider knapperne ind i et mc, og det skal det ende med.
nu har jeg prøvet med dit script igen. Det virker hvis jeg indsætter en mc.alpha=0; under end_alpha. Nu er problemet så at den fader op fra 0 hvis man klikker på den samme knap flere gange.
Nu har jeg fået det til at virke som som du havde tænkt det, tror jeg. Men nu er næste problem så at efterhånden som jeg klikker rundt mellem billederne bliver den mere og mere sløv. Det må jo være fordi alle mc'erne ender med at ligge i _alpha 0 og så bliver tungt for den at fade op, eller hva'?
Jeg har sat _visible=0 på alle clips som udgangspunkt. Udseendet er jo som før beskrevet. Når man klikker på knap1 kommer billede1 osv og det forrige fader ud. Der er 19 knapper og 19 billeder. Det virker fint det du har lavet, men problemet var at det blev mere og mere tungt for den at lave fade efterhånden som man klikkede på de forskellige knapper. Derfor satte jeg visible ind. Men jeg ved ikke om det er en dårlig måde at gøre det på...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.