Avatar billede thomasclausen Nybegynder
10. april 2002 - 11:47 Der er 23 kommentarer og
1 løsning

Scrollbar virker ikke sammen med loadmovie!!

Jeg har et lille problem med min scrollbar, hvis jeg samtidig loader en ekstern movie.

Scrollbaren virker fint på op og ned pillene, men selve baren der indikerer hvor meget tekst, burde man kunne trække i, men når jeg samtidig loader en ekstern movie forsvinder den funktion åbenbart!!
Avatar billede hoejrup Nybegynder
10. april 2002 - 13:08 #1
Flash 5 eller Flash MX?

/per
Avatar billede thomasclausen Nybegynder
10. april 2002 - 13:36 #2
Flash 5
Avatar billede barklund Nybegynder
10. april 2002 - 13:41 #3
Smid link til .fla eller skriv koden her - ellers bliver det jo gætteri fra vores side...
Avatar billede thomasclausen Nybegynder
10. april 2002 - 14:16 #4
www.akapip.jaha.dk/klonk/
flash.fla - selve siden
cursor.fla - den film der bliver loadet
scroller.as - scriptet der får den til at scrolle

Har I ikke ICQ ?
Avatar billede thomasclausen Nybegynder
10. april 2002 - 14:18 #5
uddannelsen.txt - tekst der loades i det felt der skal scrolles!
Avatar billede thomasclausen Nybegynder
15. april 2002 - 09:08 #6
Er der slet ikke nogen der har et forslag til hvad jeg gør galt??
Avatar billede barklund Nybegynder
15. april 2002 - 10:33 #7
Det kræver jo at man lige har et kvarter til at sætte sig ind i alle filerne og så noget... Det er ikke sikkert, at man har det... for eksempel er jeg på vej i seng på nuværende tidspunkt af natten...
Avatar billede thomasclausen Nybegynder
15. april 2002 - 15:28 #8
Ja, ja - det var jo heller ikke sådan ment, jeg undrede mig bare over at ingen af jer havde meldt tilbage, da der jo ikke plejer at gå særlig lang tid før en eller anden har en kommentar eller svar!!
Jeg er da dybt taknemmelig over at der overhovedet er nogen som gider hjælpe mig med mit spørgsmål!
Avatar billede barklund Nybegynder
15. april 2002 - 23:24 #9
Sådan rent personligt har jeg ikke lige mod på at skulle downloade nogle andres .fla'er og rode rundt i dem for at finde den aktuelle funktion og finde rundt i movieclips med mere... Det nemmeste for alle er nok, at da det er dine filer og du kender dem bedst, så smid de aktuelle stumper kode herinde...
Avatar billede thomasclausen Nybegynder
16. april 2002 - 09:07 #10
Ok - Smider koderne ind senere i dag, er nemlig i skole lige nu!!
Avatar billede thomasclausen Nybegynder
16. april 2002 - 22:46 #11
her er scriptet til scroller-funktion:

onClipEvent (load){

    this.loadVariables("uddannelsen.txt");
    scrolling = 0;
    frameCounter = 1;
    speedFactor = 3;
    numLines = 7;

    origHeight = scrollbar._height;
    origX = scrollbar._x;
   
    refreshRate = 12;
    refreshCounter = 0;
    refreshlastMaxscroll = 0;
    loaded = false;

    function refreshScrollBar(){
   
        var totalLines = numLines + text.maxscroll - 1;
        scrollbar._yscale = 100*(numLines)/totalLines;
        deltaHeight = origHeight - scrollbar._height;
        lineHeight = deltaHeight/(text.maxScroll - 1);   
        scrollbar._y = lineHeight*(text.scroll - 1);
       
    }
   
    function updateScrollBarPos(){

        scrollbar._y = lineHeight*(text.scroll - 1);
    }
}

onClipEvent (enterFrame){

    if( loaded ){
   
        if(refreshCounter % refreshRate == 0 && text.maxscroll != refreshLastMaxScroll){
       
            refreshScrollBar();
            refreshLastMaxScroll = text.maxscroll;
            refreshCounter = 0;
           
        }
        refreshCounter++;
    }
   
    if( frameCounter % speedFactor == 0){
   
        if( scrolling == "up" && text.scroll > 1){
            text.scroll--;
            updateScrollBarPos();
        }
        else if( scrolling == "down" && text.scroll < text.maxscroll){
            text.scroll++;
            updateScrollBarPos();
        }
        frameCounter = 0;
    }
    frameCounter++;
}

onClipEvent (mouseDown){

    if(up.hitTest(_root._xmouse,_root._ymouse)){
        scrolling = "up";
        frameCounter = speedFactor;
        up.gotoAndStop(2);
    }
    if(down.hitTest(_root._xmouse,_root._ymouse)){
        scrolling = "down";
        frameCounter = speedFactor;
        down.gotoAndStop(2);
    }
    if(scrollbar.hitTest(_root._xmouse,_root._ymouse)){
        scrollbar.startDrag(0,origX,deltaHeight,origX);
        scrolling = "scrollbar";
    }
    updateAfterEvent();
}

onClipEvent (mouseUp){

    scrolling = 0;
    up.gotoAndStop(1);
    down.gotoAndStop(1);
    stopDrag();

    updateAfterEvent();
}

onClipEvent (mouseMove){
    if(scrolling == "scrollbar"){
        text.scroll = Math.round((scrollbar._y)/lineHeight + 1);
    }
    updateAfterEvent();
}

onClipEvent (data){
    loaded = true;
}


og i den film der loades er der følgende script:

onClipEvent (mouseMove) {
    startDrag ("/mask", true);
}

håber det er nok!!
Avatar billede barklund Nybegynder
17. april 2002 - 11:01 #12
Det er en scroller til at scrolle tekst... Du vil bruge den på et movieclip?
Avatar billede barklund Nybegynder
17. april 2002 - 11:03 #13
Ahh... Nu forstår jeg... Du loader en movie samtidig med at du et andet sted har en scrollbar...

Da din scrollbar brug drag() og du loader din movie ind og bruger drag(), så virker det ikke...

Hvor stor er den loadede movie i kb?

For én af tingene bliver nødt til at blive drag'et manuelt - men det skal helst være den mindste af dem... Det er jo nok din scrollbar...
Avatar billede thomasclausen Nybegynder
18. april 2002 - 12:57 #14
Aaaahhhhh!! er som du nok kan udlede ikke særlig stærk hvad Actionscript angår!!

Den film der loades er ca. 1Kb, mens den film hvor scrollbaren er i fylder ca. 24Kb
Avatar billede barklund Nybegynder
18. april 2002 - 21:32 #15
hmm... i din mouseDown er der en startDrag(bla bla) - fjern denne linie. Det samme skal ske med stopDrag() i mouseUp...

mouseMove-eventen laver du så om til:

onClipEvent (mouseMove){
    if(scrolling == "scrollbar") {
        scrollbar._y = (_ymouse < 0) ? 0 : (_ymouse > deltaHeight) ? deltaHeight : _ymouse;
        text.scroll = Math.round((scrollbar._y)/lineHeight + 1);
    }
    updateAfterEvent();
}

Prøv det engang og fortæl, hvordan det går... (det er skrevet sådan lige ud i luften...)

/Barklund
Avatar billede thomasclausen Nybegynder
18. april 2002 - 22:39 #16
Virker stadig ikke!!!
Avatar billede barklund Nybegynder
20. april 2002 - 23:11 #17
Ændr den tilføjede linie til:

scrollbar._y = (scrollbar._parent._ymouse < 0) ? 0 : (scrollbar._parent._ymouse > deltaHeight) ? deltaHeight : scrollbar._parent._ymouse;

/Barklund
Avatar billede thomasclausen Nybegynder
24. april 2002 - 10:01 #18
Kan stadig ikke få det til at virke!!
Avatar billede thomasclausen Nybegynder
24. april 2002 - 10:08 #19
Er ikke helt sikker på om jeg har gjort det rigtig, så du må meget gerne gå det efter!!

Min script-fil:
http://www.akapip.jaha.dk/klonk/scroller.as
Avatar billede thomasclausen Nybegynder
24. april 2002 - 10:20 #20
Jeg har lige siddet og kigget på nogle af de andre spørgsmål, og jeg kom til at læse denne: http://www.eksperten.dk/spm/201637.
Der står at det ikke er særlig godt at bruge startDrag sammen med mus da man ikke kan Drag'e andet, og da musen hele tiden Drag'es er det ikke særlig smart!!!!
Så ville det ikke være bedre at bruge scriptet derfra til min cursor?
Avatar billede barklund Nybegynder
24. april 2002 - 12:08 #21
Skal du på noget tidspunkt dragge nogen som helst andre ting end din scrollbar eller din cursor? Hvis ikke, så behøver du kun manuelt at dragge 1 af tingene, men ellers skal begge dragges manuelt. Ovenstående script, som jeg har skrevet, er et forsøg på manuelt at dragge din scrollbar, mens scriptet i http://www.eksperten.dk/spm/201637 er et forsøg på manuelt at dragge din cursor. Either er helt fint - dog er det en god ide at manuelt dragge det movieclip, der fylder færrest kilobytes, men her har vi vist at gøre med 2 mc, der ikke rigtig fylder noget...

Du kan også prøve den anden løsning ved i stedet at ændre:

onClipEvent (mouseMove) {
    startDrag ("/mask", true);
}

til:

onClipEvent (mouseMove) {
    _root.mask._x = _root._xmouse;
    _root.mask._y = _root._ymouse;
}

Men det andet burde nu virke. Dit .as ser ellers rigtig ud, så jeg forstår det faktisk ikke... Hvis du er interesseret i, at få det andet til at virke (eller vil forstå, hvorfor det ikke gør), så prøv lige at tilføje lidt traces og fortæl output:

onClipEvent (mouseMove){
    if(scrolling == "scrollbar") {
        scrollbar._y = (_ymouse < 0) ? 0 : (_ymouse > deltaHeight) ? deltaHeight : _ymouse;
        trace("ymus = "+_ymouse);
        text.scroll = Math.round((scrollbar._y)/lineHeight + 1);
    }
    updateAfterEvent();
}

Og fortæl, hvordan "ymus" ændrer sig i output-vinduet når du forsøger at trække scrollbar'en...
Avatar billede thomasclausen Nybegynder
17. maj 2002 - 08:24 #22
Mange tak for hjælpen, og undskyld den lange ventetid!!!
Men husk at sende et svar for at få dine velfortjente point!
Avatar billede thomasclausen Nybegynder
06. august 2002 - 15:21 #23
Vil du ikke have dine point Barklund??
Avatar billede thomasclausen Nybegynder
14. januar 2003 - 12:36 #24
Åbenbart ik'!
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