Avatar billede oldnick Nybegynder
19. august 2006 - 23:19 Der er 5 kommentarer og
1 løsning

Oversættelse af kode til flash 8?

Hej

Er der nogen der kan oversætte denne her kode så den fungere i flashplayer 8. P.t. virker den kun i flashplayer 5!

Kode:

1. det som ligger på i roden på actions laget:

Movieclip.prototype.elasticScale = function(target, accel, convert) {
    xScale = xScale*accel+(target-this._xscale)*convert;
    yScale = yScale*accel+(target-this._yscale)*convert;
    this._xscale += xScale;
    this._yscale += yScale;
};

2.Det som ligger på mine movie clips:

onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
        elasticScale(150, 0.9, 0.1);
    } else {
        elasticScale(100, 0.9, 0.1);
    }
}

Det er sikkert gjort i en ruff, men jeg ved bare ikke hvor jeg skal starte eller begynde. Hvis der er en alternativ måde at gøre det på så, er det også fint bare effekten er den samme.

Det som det skal gøre er at scalere mc med en bounce effekt, når muser laver en rollOver.

På for hånd tak. :)
Avatar billede thulstrup Nybegynder
19. august 2006 - 23:53 #1
function elasticScale(mc:MovieClip):Void {
    var accel:Number = 0.9;
    var convert:Number = 0.1;
    var targ:Number = 100;
    mc.xScale = 0;
    mc.yScale = 0;
    mc.onEnterFrame = function():Void  {
        targ = (this.hitTest(_root._xmouse, _root._ymouse)) ? 150 : 100;
        this.xScale = this.xScale*accel+(targ-this._xscale)*convert;
        this.yScale = this.yScale*accel+(targ-this._yscale)*convert;
        this._xscale += this.xScale;
        this._yscale += this.yScale;
    };
}
elasticScale(mit_mc);


Hvor 'mit_mc' er instancenavnet på det movieclip du vil tilføje effekten på.
Avatar billede oldnick Nybegynder
20. august 2006 - 00:06 #2
Tak, men jeg får de her fejl:

**Error** Scene=Scene 1, layer=actions, frame=1:Line 1: '{' expected
    function elasticScale(mc:MovieClip):Void {

**Error** Scene=Scene 1, layer=actions, frame=1:Line 7: '{' expected
        mc.onEnterFrame = function():Void  {

**Error** Scene=Scene 1, layer=actions, frame=1:Line 13: Unexpected '}' encountered
        };

Total ActionScript Errors: 3     Reported Errors: 3
Avatar billede oldnick Nybegynder
20. august 2006 - 00:25 #3
Sorry det var mig som havde min settings til at stå til as 1.0. :)

Det virker perfekt. Smid et svar hvis du samler på point og tak for det hurtige svar.
Avatar billede oldnick Nybegynder
20. august 2006 - 00:36 #4
Jeg har lige en ting til, kan man få den til at skifte depth, altså så det mc musen er over ligger øverst??


function elasticScale(mc:MovieClip):Void{
    var accel:Number = 0.9;
    var convert:Number = 0.1;
    var targ:Number = 100;
    mc.xScale = 0;
    mc.yScale = 0;
    mc.onEnterFrame = function():Void  {
        targ = (this.hitTest(_root._xmouse, _root._ymouse)) ? 150 : 100;
        this.xScale = this.xScale*accel+(targ-this._xscale)*convert;
        this.yScale = this.yScale*accel+(targ-this._yscale)*convert;
        this._xscale += this.xScale;
        this._yscale += this.yScale;
    };
}
elasticScale(box1_mc);
elasticScale(box2_mc);
elasticScale(box3_mc);
elasticScale(box4_mc);
elasticScale(box5_mc);
Avatar billede thulstrup Nybegynder
20. august 2006 - 08:45 #5
Ja, det kan du gøre sådan her:

function elasticScale(mc:MovieClip):Void {
    var accel:Number = 0.9;
    var convert:Number = 0.1;
    var targ:Number = 100;
    mc.xScale = 0;
    mc.yScale = 0;
    mc.onEnterFrame = function():Void  {
        if (this.hitTest(_root._xmouse, _root._ymouse)) {
            targ = 150;
            var depth:Number = _root.getNextHighestDepth();
            if (this.getDepth()<depth-1) {
                this.swapDepths(depth);
            }
        }
        else {
            targ = 100;
        }
        this.xScale = this.xScale*accel+(targ-this._xscale)*convert;
        this.yScale = this.yScale*accel+(targ-this._yscale)*convert;
        this._xscale += this.xScale;
        this._yscale += this.yScale;
    };
}
elasticScale(box1_mc);
elasticScale(box2_mc);
elasticScale(box3_mc);
elasticScale(box4_mc);
elasticScale(box5_mc);
Avatar billede oldnick Nybegynder
20. august 2006 - 09:54 #6
Tak for hjælpen, jeg er imponeret, det fungere bare perfekt. :)
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