Avatar billede kasper82 Nybegynder
07. januar 2003 - 20:50 Der er 15 kommentarer og
1 løsning

skifte _alpha med actionscript

Nogen der har et lille script.. der gør.. at når man bevæger musen over et movieclip.. så skifter _alpha fra ex. 25 -> 100 .. via actionscript.

Altså så at det sker gradvis .. som en animation.. og fader ud igen når musen fjernes.
Avatar billede barklund Nybegynder
07. januar 2003 - 21:28 #1
onClipEvent (load) {
    // skift her
    alpha_off = 25;
    alpha_on = 100;
    alpha_steps = 15;

    // lad dette være
    end_alpha = alpha = _alpha = alpha_off;
    step_alpha = (alpha_on-alpha_off)/alpha_steps;
    idle = 1;
    over = -1;
}
onClipEvent (enterFrame) {
    if (idle) return;

    _alpha = (alpha+=over*step_alpha);

    if (_alpha == alpha_off || _alpha == alpha_on)
        idle = 1;
}
onClipEvent(mouseMove) {
    if (over == -1 && this.hitTest(_root._xmouse,_root._ymouse,1)) {
        over = 1;
        idle = 0;
    } else if (over == 1 && !this.hitTest(_root._xmouse,_root._ymouse,1)) {
        over = -1;
        idle = 0;
    }
}
Avatar billede alexander_j Nybegynder
07. januar 2003 - 22:46 #2
En simpel version bygget på a2+b2=c2 ser sådan her ud og kan redigeres lidt ved at ændre de 5000:

onClipEvent(mouseMove) {
    this._alpha=25+5000/Math.sqrt(Math.pow(_xmouse,2)+Math.pow(_ymouse,2));
}

Men den har naturtuligvis ingen hittest :-)
Avatar billede kasper82 Nybegynder
07. januar 2003 - 22:53 #3
barklunds svar var hvad jeg ledte efter.

-> svar :)
Avatar billede alexander_j Nybegynder
08. januar 2003 - 00:25 #4
Helt iorden ;) synes bare det var sjovt at man kunne lave det du bedte om på 3 linier - ikke mindst fordi du bad om et lille script :-)
Avatar billede barklund Nybegynder
08. januar 2003 - 10:10 #5
*host*

/Barklund
Avatar billede barklund Nybegynder
08. januar 2003 - 10:12 #6
>> alexander

Og så var det jo ikke heeelt det, der blev bedt om alligevel... Men tæt på... Men hvis det skal køres kort, så tror jeg også, at jeg kunne tvinge den ned på ikke så meget, men det er jo ikke et mål i sig selv nødvendigvis...

Men mindre det er det, som det handler om:

http://perlgolf.sourceforge.net

/Barklund
Avatar billede kasper82 Nybegynder
08. januar 2003 - 10:43 #7
Alexaner: din kode gør ikke helt præcis hvad jeg spurgte om .. derfor går pointene til barklund. Han var pt. også den første med et svar.
Avatar billede barklund Nybegynder
08. januar 2003 - 15:16 #8
Hov... prøver lige igen...
Avatar billede alexander_j Nybegynder
08. januar 2003 - 15:26 #9
helt iorden - jeg forsøgte skam heller ikke at gøre krav på pointene (hvad skal man egentlig med de point?)
Avatar billede daniel21 Nybegynder
08. januar 2003 - 16:26 #10
godt spørgsmål!!
Avatar billede kasper82 Nybegynder
08. januar 2003 - 19:45 #11
Barklund: har lige afprøvet scriptet.. med 2 movieclips.. og så fortsætter de bare derud af.. ikke så smart....
Avatar billede kasper82 Nybegynder
08. januar 2003 - 19:47 #12
hov.. det var faktisk IKKE fejlen.. jeg har puttet et mc (det med koden på) ind i et andet.. og så virker den ikke .. (som forklaret ovenstående, når den skal fade ind /100 ved mouse over.. forsvinder den helt når man fjerner musen igen)
Avatar billede kasper82 Nybegynder
08. januar 2003 - 20:31 #13
Det var menningen at det skulle bruges på er par (3-4) forskellige mc's (knapper).. og troede det var en lille "standard" kode.. man bare smed på mc't og så virkede det..
Avatar billede kasper82 Nybegynder
09. januar 2003 - 07:39 #14
prøv eks. selv at sætte:
    alpha_off = 90;
    alpha_on = 5;
    alpha_steps = 20;

Så fucker den op.. og stopper ikke ved mouseOUt
Avatar billede barklund Nybegynder
09. januar 2003 - 09:44 #15
onClipEvent (load) {
    // skift her
    alpha_off = 25;
    alpha_on = 100;
    alpha_steps = 15;

    // lad dette være
    end_alpha = alpha = _alpha = alpha_off;
    step_alpha = (alpha_on-alpha_off)/alpha_steps;
    idle = 1;
    over = -1;
    sign = step_alpha < 0 ? -1 : 1;
}
onClipEvent (enterFrame) {
    if (idle) return;

    _alpha = (alpha+=over*step_alpha);

    if (sign*_alpha < sign*alpha_off || sign*_alpha > sign*alpha_on)
        idle = 1;
}
onClipEvent(mouseMove) {
    if (over == -1 && this.hitTest(_root._xmouse,_root._ymouse,1)) {
        over = 1;
        idle = 0;
    } else if (over == 1 && !this.hitTest(_root._xmouse,_root._ymouse,1)) {
        over = -1;
        idle = 0;
    }
}
Avatar billede barklund Nybegynder
13. januar 2003 - 09:40 #16
Tarker...
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

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