Avatar billede alivedk Nybegynder
09. juni 2001 - 00:18 Der er 18 kommentarer og
1 løsning

Bevægelse af movieclip/graphic

Jeg står og er ved at lære actionscript, og kunne godt tænke mig en lille hurtig visning af følgende:

Jeg har 3 knapper...
1. stk movieclip

movieclippet ligger på den plads som knap1 fører den til!
når man så trykke skal clippet rykke sig hen til det sted som nu enten knap2 el. 3 henviser til! (ligeledes hvis man derefter trykker på knap1.. skal clippet rykke tilbage til position 1!)

Altså hvordan man specificerer position og bevægelse af movieclip med diverse knapper!

hard one eh! :)

(svar skal være til at forstå.. gennemgang!)

/A
Avatar billede ditlev Juniormester
09. juni 2001 - 00:29 #1
Knappen skal have følgende action:

on (release) {
    setProperty (\"_root.mc1\", _x, 200);
    setProperty (\"_root.mc1\", _y, 200);
}
Avatar billede ditlev Juniormester
09. juni 2001 - 00:32 #2
Dit movieclip skal have et instance navn. Det giver du det ved at markere det (ikke åbne det) og åbne instance panelet. Her giver du det et navn, fx. mc1.

Du kan nu give dine knapper ovenstående action, og blot lave om på x og y værdierne, så du placerer dit movieclip på skærmen hvor du vil.

/Ditlev
Avatar billede alivedk Nybegynder
09. juni 2001 - 00:36 #3
ditlev: det er IKKE menningen at den \"bare\" skal rykke sig til den specifikke destination, men \"slide\".. derhen.. !

(se evt. www.bang-olufsen.com .. de bruger noget lignende i den nye flash film de har lavet. \"menuen\"..)

/A
Avatar billede ditlev Juniormester
09. juni 2001 - 00:39 #4
Er det teksten der scroller fra højre mod venstre ved mouse over du er interesseret i?
Avatar billede ditlev Juniormester
09. juni 2001 - 01:05 #5
Jeg ved ikke om jeg har forstået helt hvad du vil.

Du kan styre dit movieclip vha. knapperne ved at give det et instance navn som omtalt ovenfor.

I dit movieclip laver du herefter de bevægelser som du ønsker det skal foretage sig vha. motion -tween. Fx. kan du fra frame 1 til 30 lave en bevægelse, fra frame 31 til 60 den næste og fra frame 61 til 90 den tredie bevægelse. Der skal sættes en stop Action i frame 1, 30, 60 og frame 90.

Du giver nu dine knapper følgende actions:
Fx.
on (release) {
    with (_root.mc1) {
        gotoAndPlay (31);
    }
}

Hermed kan du kontrollere hvor på movieclippets timeline du vil starte, og den aktuelle tween afspilles med bevægelse af movieclippet.

/Ditlev
Avatar billede alivedk Nybegynder
09. juni 2001 - 12:32 #6
Ja i know.. det er jo nemt nok.. og også sådan jeg plejer at lave det.. MEN hvis man nu har en del knapper der alle refererer til forskellige steder er det LIDT molbo at sidde og lave tweening på alle sammen.. Derfor ville det være nemmere hvis man via actionscript kunne få dem til at scrolle fra det sted de nu er på .. og til en destination valgt med den knap man trykker på !... Håber du forstår!
Avatar billede ditlev Juniormester
10. juni 2001 - 04:26 #7
Okay.
Du har en x,y udgangsposition og vil ende i en anden x,y slutposition.
Du skal så lave noget actionscript der beregner x,y værdierne langs linien der forbinder de to punkter.
Disse værdier skal løbende sættes ind i:
    setProperty (\"_root.mc1\", _x, værdix);
    setProperty (\"_root.mc1\", _y, værdiy);
Herved flytter dit movieclip sig som du ønsker.
Problemet er at lave beregningen af koordinaterne, men det kan lade sig gøre.
Jeg har ikke pt. formlen til dette!
Avatar billede alivedk Nybegynder
10. juni 2001 - 11:58 #8
Svaret er ikke færdigt, men jeg accepterer det nuværende, men hvis det skulle lade sig gøre at nogen lagde inde med løsningen stiller jeg glædeligt 300 point på højkant igen!

/A
Avatar billede gotcha Nybegynder
10. juni 2001 - 12:45 #9
Der findes en række algoritmer til at beskrive bevægelser. Den mest anvendte, og nemmeste, er at bruge friktion. Du kunne vedhæfte følgende handlinger til dit movie clip:

this._x += (destX-this._x)/20

Dette medfører, at dit movie clip hele tiden bevæger sig mod destX (det starter hurtigt ud og bevæger sig derefter langsommere og langsommere, ligesom når du bremser på en cykel). Når du klikker på en knap skal du bare ændre på variablen destX. I eksemplet bevæger dit movie clip sig kun horisontalt, men du skal bare ændre x til y for at bevæger dig vertikalt.

Håber det hjælper :)
Avatar billede alivedk Nybegynder
10. juni 2001 - 12:49 #10
gotcha: kan du lave et hurtigt eksempel ville det hjælpe MEGET.. bare med 2 knapper/movieclips.. så jeg kan se hvordan det virker(jeg er IKKE den store koder, og skal gerne have det sort på hvidt så at sige.. for at det ryger ind.. :) )

Hvis du kan det.. åbner jeg lige et nyt sprgs. 300 point som du kan svare på! :)

/A
Avatar billede gotcha Nybegynder
10. juni 2001 - 13:02 #11
Lige et øjeblik...
Avatar billede alivedk Nybegynder
10. juni 2001 - 13:24 #12
gotcha ? :)

/A
Avatar billede gotcha Nybegynder
10. juni 2001 - 13:35 #13
Har lige lavet et eksempel. Det er bare et smule mere avanceret, da det hele er lavet dynamisk (du skal bla. bare ændre på en variabel for at ændre antallet af knapper):

http://www.hhbk.subnet.dk/moveTo.fla
Avatar billede alivedk Nybegynder
10. juni 2001 - 14:33 #14
Virker som det skal.. men sidder lige og undrer mig.. hvor er det lige selve de knapper som man trykker på er placeret? og hvordan ændrer jeg i dem ?
Avatar billede alivedk Nybegynder
10. juni 2001 - 14:36 #15
det var menningen at jeg kunne placere knapperne hvor jeg nu ville.. og kun \"post...\" der bevægede sig... efter hvad man nu gav af kordinater i knappen.. gør denne det også?
Avatar billede gotcha Nybegynder
10. juni 2001 - 15:15 #16
Ja, det gør den. Hvis du åbner \"masterItem\" kan du se, at der er en usynlig knap i øverste lag. Når man klikker på knappen ændres destinationen for \"posIndikator\" til den position, som movie clippet har:

on (release) {
    _root.posIndikator.destX = _x;
}

For at gøre filstørrelsen mindre og gøre det lettere at rette i filen, tager jeg og kopierer \"masterItem\" et antal gange. Hver af disse kopier stiller jeg så op på en række. Når man klikker på den knap, som er inde kopien, ændres destinationen for \"posIndikator\" til den position, som kopien har (jf. ovenstående kode).

Hjælper det?
Avatar billede gotcha Nybegynder
10. juni 2001 - 15:18 #17
Koden til knappen kunne også have set sådan ud:

on (release) {
    _root.posIndikator.destX = this._x;
}

Avatar billede alivedk Nybegynder
10. juni 2001 - 15:51 #18
oki.. dvs
for at ændre stedet den skal flyttes hen kan jeg ex bruge:

on (release) {
    _root.posIndikator.destX = _x+555;
}

?

Hvis den nye skal rykkes vertikalt?
on (release) {
    _root.posIndikator.destY = _y+555;
}

?
Jeg opretter lige et sprgs. du kan svare på og få pointene!
Avatar billede gotcha Nybegynder
10. juni 2001 - 15:56 #19
Ja, det kunne du godt bruge. I eksemplet ville det bare betyde, at du flytter \"posIndikator\" 555 pixels væk fra den knap, du har trykket på.
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