Avatar billede jakwag Nybegynder
15. juli 2003 - 11:41 Der er 6 kommentarer og
1 løsning

Billeder accelerere

Hej

Jeg har lavet en lille billed vælger, se den her:

www.contentdepot.dk/EX-photoPicker.swf

Source filer kan hentes her:
www.contentdepot.dk/EX-photopicker.zip

Problemmet er at billederne accelerere, istedet for bare at køre i et ensartet tempo.

Mit script ser sådan her ud:

var numberOfPics = 10;
for (var i = 0; i<numberOfPics; i++) {
    this.createEmptyMovieClip("pic"+i+"_mc", i);
    this["pic"+i+"_mc"]._x = 103;
    this["pic"+i+"_mc"].createEmptyMovieClip("dummy_mc", i);
    this["pic"+i+"_mc"].dummy_mc.loadMovie("born2.jpg");
}
this.setMask(mask_mc);
//********************************
var space = 10;
var speed = 20;
var max = 430;
var min = 0;
pic0_mc._y = 180;
var max_first = 215-pic0_mc._height/2;
var min_first = -575;
firstY = pic0_mc._y;
var numToCheck = 0;
this.onEnterFrame = function() {
    // tjek om biller er loadet
    if (numToCheck != numberOfPics) {
        for (var i = 0; i<numberOfPics; i++) {
            if (this["pic"+i+"_mc"].dummy_mc._width != 0) {
                this["pic"+i+"_mc"].dummy_mc._x = -(this["pic"+i+"_mc"].dummy_mc._width/2);
                numToCheck++;
            }
        }
    }
    //
    procent = 2*((this._ymouse-min-(max-min)/2)/(max-min));
    if (_xmouse>0 && _xmouse<207 && _ymouse>25 && _ymouse<430) {
        firstY -= procent*speed;
        firstY = Math.min(max_first, firstY);
        firstY = Math.max(min_first, firstY);
        prev_y = firstY;
        for (var i = 0; i<numberOfPics; i++) {
            scale = 100-100*Math.abs(2*((this["pic"+i+"_mc"]._y-min-(max-min)/2)/(max-min)));
            this["pic"+i+"_mc"]._xscale = scale;
            this["pic"+i+"_mc"]._yscale = scale;
            this["pic"+i+"_mc"]._y = prev_y;
            prev_y += space+this["pic"+i+"_mc"]._height;
        }
    } else {
        firstY = Math.min(max_first, firstY);
        firstY = Math.max(min_first, firstY);
        prev_y = firstY;
        for (var i = 0; i<numberOfPics; i++) {
            scale = 100-100*Math.abs(2*((this["pic"+i+"_mc"]._y-min-(max-min)/2)/(max-min)));
            this["pic"+i+"_mc"]._xscale = scale;
            this["pic"+i+"_mc"]._yscale = scale;
            this["pic"+i+"_mc"]._y = prev_y;
            prev_y += space+this["pic"+i+"_mc"]._height;
        }
    }
};

Hvad skal jeg gøre?

: ) Jakob
Avatar billede jakwag Nybegynder
15. juli 2003 - 11:43 #1
Det skal lige siges, at i den endelige kommer billederne ikke nødvendigvis til at have samme højde.
Avatar billede hoejrup Nybegynder
15. juli 2003 - 12:40 #2
Så skal du sikkert ind og sætte en fast procent: firstY -= procent*speed;

/per
Avatar billede jakwag Nybegynder
15. juli 2003 - 12:45 #3
per > nej, jeg tror ikke at det er det. Procent er en værdi på -1 - 1 afhængigt af _ymouse. Så hvis man holder musen stille burde den fortsætte i samme hastighed.
Avatar billede hoejrup Nybegynder
15. juli 2003 - 16:46 #4
Hvad sker der med animationen, hvis du holder firstY konstant i et interval.
Du kunne eventuelt lave en trace(firstY); , og se om værdien ændre sig selvom
musen holder stille.

/per
Avatar billede jakwag Nybegynder
15. juli 2003 - 16:49 #5
det har jeg prøvet, det gør den ikke. Derfor kan jeg heller ikke forstå accelerationen.

Det virker som om at den accelerere og så de-accelerere tilsidst.
Avatar billede hoejrup Nybegynder
24. juli 2003 - 09:39 #6
Har du prøvet at trace alle dine parametre, for at se hvilken der løber løbsk?

Det kan også være en visuel effekt afledt af at du formindsker dine billeder.
Så skal du sikker indbygge deacceleration i dit actionscript.

/per
Avatar billede jakwag Nybegynder
21. oktober 2003 - 11:13 #7
lukket.
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