Avatar billede enigma_morten Nybegynder
08. juni 2004 - 20:32 Der er 6 kommentarer og
1 løsning

Fade alpha og drag..

Jeg har i en knap indsat denne tekst.

on (release) {
    if (_root.pop3._alpha>20) {
        if (_root.start == 0) {
            _root.start = 97;
        }
    } else {
        _root.pop3._alpha = 0;
        _root.pop3._visible = true;
        _root.start = 3;
    }
}

Så burde den fade ind og ud?

Bare for oplysningens skyld har jeg sat denne drag kode ind i objektet der skal fades:

onClipEvent (mouseDown) {
    startDrag(_root.pop3);
}
onClipEvent (mouseUp) {
    stopDrag();
}


.. Hvorfor fader den ikke?

Har lavet det for noget tid siden - Men nu virker der bare ikke?

/Morten
Avatar billede barklund Nybegynder
08. juni 2004 - 20:38 #1
Altså dit script siger:

Hvis pop3 har en alpha større end 20 og hvis start er 0, så skal start være 87.

Hvis pop3 ikke har en alpha større end 20, så skal pop3 have en alpha på 0 og være synligt. Samtidig sættes start til 3.

Hvordan skulle det fade noget som helst?

Det vil højst sætte alpha til 0 og vise det (selvom det så ikke kan ses): Måske det samtidig ændrer en variable, der hedder start, men i dit script bruges den vist ikke til noget særligt.

Jeg mistænker, at du mangler en eller anden onEnterFrame der ligger et andet sted.

Men forklar i stedet hvad du vil, og så kan nogen nok fortælle dig den smarteste og nemmeste måde at gøre det :)

// Morten Barklund
Avatar billede enigma_morten Nybegynder
08. juni 2004 - 20:42 #2
Okay. Jo jeg har en knap. Når man trykker på den skal det movie Clip jeg har sat ved siden af fade frem. Og på samme måde skal det så kunne fade væk igen.

Kan sagtens lave det ved brug af frames, men det er lidt besværligt..

Håber du kan hjælpe!
Avatar billede barklund Nybegynder
08. juni 2004 - 20:52 #3
Hm, ved klik på knappen fader det frem, ved næste klik fader det væk, right?

on (release) {
    var factor = 0.3; // hastighed, jo mindre desto langsommere.
    var m = _root.pop3; // lokal reference for lethedens skyld
    if (m.hidden) {
        // det er skjult, vis det via onEnterFrame
        m.end_alpha = 100;
        m.hidden = false;
    } else {
        // det er synligt, skjul det
        m.end_alpha = 0;
        m.hidden = true;
    }
    m.onEnterFrame = function() {
        // kører hver onEnterFrame
        this._alpha += (this.end_alpha - this._alpha) * factor;
        if (Math.abs(this.end_alpha - this._alpha) < 0.3) {
            // er "næsten" færdig, snap til slutværdi og fjern onEnterFrame
            this._alpha = this.end_alpha;
            delete this.onEnterFrame;
        }
    }
}
Avatar billede barklund Nybegynder
08. juni 2004 - 20:52 #4
så behøver du ikke andre scripts til det... det er ikke det mest fleksible i værdien, men det virker til denne simple brug :)
Avatar billede enigma_morten Nybegynder
08. juni 2004 - 22:14 #5
Tak det var bare den fedeste løsning! Dude of the day!

Det virkede. Og tak for forklaringerne. Det er lidt mere lærerigt i stedet for at få fyret en gang volapyk i hovedet!

:)

Hvis du vil have pointene så angiv et svar. Så får du dem!
Avatar billede barklund Nybegynder
08. juni 2004 - 22:18 #6
Det er en deal - læg mærke til at scriptet "easer" hen til slutværdien og ikke bevæger sig med lige store intervaller - hvis det skal laves om, så sig til :)
Avatar billede barklund Nybegynder
08. juni 2004 - 22:35 #7
Tark for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester