Avatar billede snigeren Nybegynder
22. september 2003 - 14:53 Der er 11 kommentarer og
1 løsning

dragbar problem

Hej

Jeg prøver at forstå teknikken bag en dragbar der styrer indholdet af et movieclip.

Scriptet til dragbaren i nedenstående dragbartester er skrevet af jakwag, men den virker ikke helt. Dertil håbede jeg at der var en venlig sjæl, der kunne hjælpe med at få den til at virke helt.

http://www.triodimenzionale.dk/misc/dragbartester.swf
http://www.triodimenzionale.dk/misc/dragbartester.fla


Jeg har også prøvet at rode lidt med at bruge startDrag men det var der heller ikke helt held med.

/Snig
Avatar billede jakwag Nybegynder
22. september 2003 - 15:03 #1
nej, der har jeg vist ikke holdt tungen lige i munden. hehe.

Jeg har i mellem tiden lavet en der virker.

Du kan downloade den omlidt her:

www.contentdepot.dk/dragbar.fla

giv mig lige to...

: )
Avatar billede snigeren Nybegynder
22. september 2003 - 15:34 #2
3,...4,...5


=)
Avatar billede jakwag Nybegynder
22. september 2003 - 15:41 #3
haha
sorry. Jeg blev lige hængt op af en tlf.

Jeg siger til...
Avatar billede jakwag Nybegynder
22. september 2003 - 15:56 #4
så skulle det vist virke.

Der er osse en: www.contentdepot.dk/dragbar.swf

Behold bare dine point. Det er jo mig selv der har fjumret i det...
Avatar billede snigeren Nybegynder
22. september 2003 - 16:10 #5
mjaa dragbaren virker da en del bedre nu, meeen den når ikke helt hen til frame 36 =)
Avatar billede jakwag Nybegynder
22. september 2003 - 16:21 #6
copy paste denne:

this.dragBar_mc.pin_mc.onMouseMove = function() {
    if (dragging == 1 && this._x>=0 && this._x<=this._parent.bar_mc._width) {
        this._x = this._parent._xmouse-xdif;
        if (this._x<0) {
            this._x = 0;
            theFrame = 0;
        } else if (this._x>this._parent.bar_mc._width-this._width) {
            this._x = this._parent.bar_mc._width-this._width;
        }
        frame = this._x/(dragBar_mc._width-this._width);
        theFrame = Math.round(frame*movie_mc._totalframes);
        movie_mc.gotoAndStop(theFrame);
    }
    updateAfterEvent();
};
Avatar billede snigeren Nybegynder
22. september 2003 - 16:29 #7
sådanner,.. nu må jeg jo lige se om ikke jeg kan fatte det efterhånden, syntes snart jeg har fået hjælp med det her emne et par gange :P

men smid lige et svar alligevel, du har jo løst opgaven. Om ikke andet kan du da få halvdelen.
Avatar billede jakwag Nybegynder
22. september 2003 - 16:30 #8
så pyt... : )
er der noget der skal forklares?
Avatar billede snigeren Nybegynder
22. september 2003 - 16:37 #9
mjaa jeg tror aldrig jeg har fattet brugen af "this". hvad er foreskellen på at bruge:

this.dragBar_mc....
dragBar_mc....
Avatar billede jakwag Nybegynder
22. september 2003 - 16:47 #10
hvis du på maintimeline skriver:

this.stop()

referere this til maintimeline. Så her kan du altså ligeså godt skrive stop().

men hvis du skriver:

knap_mc.onRelease = function(){
  this.stop(); //stopper knap_mc
  stop(); // stopper maintimeline
}

De steder der her står "this" referere den altså til: this.dragBar_mc.pin_mc

this.dragBar_mc.pin_mc.onMouseMove = function() {
    if (dragging == 1 && this._x>=0 && this._x<=this._parent.bar_mc._width) {
        this._x = this._parent._xmouse-xdif;
        if (this._x<0) {
            this._x = 0;
            theFrame = 0;
        } else if (this._x>this._parent.bar_mc._width-this._width) {
            this._x = this._parent.bar_mc._width-this._width;
        }
        frame = this._x/(dragBar_mc._width-this._width);
        theFrame = Math.round(frame*movie_mc._totalframes);
        movie_mc.gotoAndStop(theFrame);
    }
    updateAfterEvent();
};


Så kan man f.eks. skrive:
this._x = 0;

istedet for:
this.dragBar_mc.pin_mc._x = 0;

er det forståeligt?
Avatar billede snigeren Nybegynder
22. september 2003 - 17:05 #11
ahhh ok,.. nu tror jeg efterhånden at jeg har fattet det.

jeg takker for hjælpen du =)
Avatar billede jakwag Nybegynder
22. september 2003 - 17:17 #12
no problemo
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