Avatar billede onkelmor Nybegynder
16. maj 2003 - 14:20 Der er 21 kommentarer og
1 løsning

Img scroll

Jeg har et kæmpestort billede, større end skærmen. Det skal ikke formindskes.

I stedet for scroll bars, vil jeg have at skærmen automatisk rykker med når man flytter musen ud i siden eller bunden af billedet.
Man skal altså kunne navigere rundt på billedet ved at flytte musen på skærmen.

Koden skal helst have den der "ease" effekt, så bevægelserne bliver smooth og lækre.
Avatar billede rangerbs Nybegynder
16. maj 2003 - 14:45 #1
følger med :D
Avatar billede Slettet bruger
16. maj 2003 - 14:48 #2
det vil jeg også lige gøre
Avatar billede barklund Nybegynder
16. maj 2003 - 14:55 #3
Du kan bruge scrollPane komponenten, men det er vist ikke det optimale...

Skal billedet lægge som baggrund på hele din scene eller kun noget af den? Altså: i pixels hvor stort et område skal dækkes? Og bruger du Flash MX?
Avatar billede jakwag Nybegynder
16. maj 2003 - 15:11 #4
Prøv at lægge dit billede inde i et mc der hedder img_mc.
I samme timeline skal du skrive:

this.onEnterFrame = function(){
    img_mc._x = img_mc._x+(_xmouse-img_mc._x)/2.5;
    img_mc._y = img_mc._y+(_ymouse-img_mc._y)/2.5;
}

i en frame.
Er det det du vil?

: ) Jakob
Avatar billede jakwag Nybegynder
16. maj 2003 - 15:11 #5
hvis du får det til at virke, så prøv at skrive et andet tal end 2.5. f.eks 4...
Avatar billede onkelmor Nybegynder
16. maj 2003 - 15:18 #6
Ja, jeg bruger Flash MX.

Billedets størrelse - w:1764 X h:2169 pixels.

Scenen består faktisk kun af billedet og noget musik.

Billedet er et movieclip og eneste aktion er at vi har animeret alpha kanalen.
Altså billedet(movieclippet) skifter mellem at være synligt/usynligt.

Hvordan virker scrollPane komponenten? Jeg kender den ikke.

NB: Jeg vil ikke bruge knapper, det er som sagt alene det at man flytter musen ud til siden der skal gøre at skærmen flytter sig.
Avatar billede onkelmor Nybegynder
16. maj 2003 - 15:31 #7
Jakwag > Det ser meget fornuftigt ud! Men med det du skriver flytter billedet sig hver gang man flytter musen, og ikke kun når man flytter musen ud til siden eller ned. Hele midterområdet skal ligesom være et "helle", og effekten skal kun virke i de yderste ca. 100 px  - i top, bund og siderne.
Avatar billede jakwag Nybegynder
16. maj 2003 - 15:31 #8
Det er nok mere noget i den her retning du ønsker

this.onEnterFrame = function(){
    Xpos = -(img_mc._width - 760)*_xmouse/760;
    img_mc._x = img_mc._x+(Xpos-img_mc._x)/2.5;
    Ypos = -(img_mc._height - 365)*_ymouse/365;
    img_mc._y = img_mc._y+(Ypos-img_mc._y)/2.5;
}
Avatar billede jakwag Nybegynder
16. maj 2003 - 15:32 #9
de 760 er bredden på din stage
de 365 er højde

Dem skal du justere til din egen film
Avatar billede jakwag Nybegynder
16. maj 2003 - 15:36 #10
hhmm..
Det bliver nok lidt svære, det har jeg ikke tid til at lave.

Hvad siger Barklund? : )
Avatar billede onkelmor Nybegynder
16. maj 2003 - 15:37 #11
Ja hvad sir Barklund? :D
Avatar billede barklund Nybegynder
16. maj 2003 - 16:11 #12
Altså det fylder hele scenen:

border = 50;
this.onEnterFrame = function() {
    if (_xmouse < border || _xmouse > Stage.width-border) {
        img_mc.end_x += (Stage.width/2-_xmouse)/10;
        img_mc.end_x = Math.min(img_mc._width/2,img_mc.end_x);
        img_mc.end_x = Math.max(Stage.width-img_mc._width/2,img_mc.end_x);
    }
    if (_ymouse < border || _ymouse > Stage.height-border) {
        img_mc.end_y += (Stage.height/2-_ymouse)/10;
        img_mc.end_y = Math.min(img_mc._height/2,img_mc.end_y);
        img_mc.end_y = Math.max(Stage.height-img_mc._height/2,img_mc.end_y);
    }   
}
img_mc.onEnterFrame = function() {
    if (this._x != this.end_x) {
        this._x += (this.end_x-this._x)/5;
    }
    if (this._y != this.end_y) {
        this._y += (this.end_y-this._y)/5;
    }
}

Den virker nok inde når du tester i flash men i browser eller standalone gør den...
Avatar billede onkelmor Nybegynder
16. maj 2003 - 16:26 #13
Yes det er præcis sådan jeg gerne ville have det! Tusind tak, Barklund. Du kan sørme dit kram!
Skriv lige noget igen bare som svar, så du kan få dine velfortjente points.. :D
Avatar billede barklund Nybegynder
16. maj 2003 - 16:51 #14
Ok :)

200 point er dog lige lovlig mange... Så svært var det heller ikke :)
Avatar billede onkelmor Nybegynder
16. maj 2003 - 17:11 #15
Jo. For mig og min søster var det pænt svært :D
Avatar billede barklund Nybegynder
16. maj 2003 - 17:52 #16
Jamen så tark for det...
Avatar billede onkelmor Nybegynder
16. maj 2003 - 17:53 #17
Ehm - du har i øvrigt fået en e-mail
Avatar billede barklund Nybegynder
16. maj 2003 - 17:56 #18
Du skal centrere din grafik inden i img_mc. Marker billedet og tryk Ctrl+K - vælg "align to stage" og klik centrer både vertikalt og horisontalt
Avatar billede wilweb Nybegynder
10. december 2003 - 09:31 #19
barklund :> Jeg sidder her og forsøger på at få dit svar til at virke men det lykkes ikke!
Jeg har et movieclip med instance navnet: img_mc
på mc'et har jeg lagt din kode, men der sker ikke noget hverken i en stand alone player(exe) eller i en html er der noget som jeg gør forkert?
Avatar billede barklund Nybegynder
10. december 2003 - 09:36 #20
Du skal ikke lægge koden på movieclippet, men i en frame "ved siden af" :)
Avatar billede wilweb Nybegynder
10. december 2003 - 10:00 #21
det kan jeg hellere ikke få til at virke!
så jeg har vist nogle problemer, når jeg ingen engang kan kopiere en frame action og give et mc et instance name.

www.wilweb.dk/experten/image_scroll01.fla

Jeg ville blive glad, hvis du fik tid til at se om det er mig der er helt tosset, men kun hvis du får tid :>
Avatar billede onkelmor Nybegynder
22. august 2007 - 09:41 #22
Hvorfor kan jeg ikke få dette til at virke i AS 2.0.
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