/ Forside / Teknologi / Multimedie & design / Flash / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Dr.Disco 500
10  Flash77 500
museklik + rollovers?
Fra : Tor Fruergaard


Dato : 25-05-01 16:14

Hej

Jeg er ved at lave et landkort i flash, man skal kunne scrolle hen over det,
ved at køre musen ud til en af siderne (som i red alert, starcraft o.s.v.).
Jeg har lavet et par usynlige knapper i siderne, men når man holder musen
over dem, registrerer den jo kun rolloveren en gang, og mit kort rykker kun
et lille ryk og stopper. Hvis man bruger f.eks piletasterne til at navigere
med, er det ikke noget problem.

Hvordan får man flash til at blive ved med at kigge efter en rollover på en
knap?

Venlig hilsen Tor



 
 
Michael Peo (25-05-2001)
Kommentar
Fra : Michael Peo


Dato : 25-05-01 19:37

Hej Tor! - Som jeg ser det er der to mulige løsninger på dit problem.

Løsning1 - "Continueus feedback button" (tror jeg nok man kalder det..):
En knap der i virkeligheden er to knapper der ligger i et movieclip i to
frames lige efter hinanden. Movieclippet loop'er imellem de to knapper, der
derfor hele tiden "gør det de skal" - altså at fornemme rollover'eren, og
dermed flyttes dit kort kontinuerligt.

Løsning2 - Kald et Action-clip:
I stedet for at kalde funktionen der flytter kortet direkte fra selve
knappen, så kald et movieclip, der derefter kalder funktionen der flytter
kortet. Altså...
Lav et nyt movieclip(mc) og kald det f.eks. "moveit"
Dette mc skal have 3 frames med følgende actions:
Frame1: stop
Frame2: her placere du den stump actionschript der rent faktiskt flytter
kortet
Frame3: gotoAndPlay(2)

Næste trin er at placere et instance af "moveit"-mc'et på scenen, og at give
det et instancenavn - lad os bare kalde det for "moveit" igen.
Alt hvad du nu behøver at gøre for at flytte på kortet, er at starte og
stoppe "moveit"-mc'et med en knap med følgende actions:
on (rollOver) {
tellTarget ("moveit") {
gotoAndPlay (2);
}
}
on (rollOut) {
tellTarget ("moveit") {
gotoAndStop (1);
}
}

Formodenligt har du i din nuværende løsning lavet 4 knapper, en for hver af
de 4 retninger som kortet kan bevære sig i. Det ville derfor være
umiddelbart nærliggende at lave 4 udgaver af "moveit" - én med en "flyt
kortet op"-action, én med ned osv...
Et kneb kunne være kun at lave én udgave af "moveit", men med et sæt actions
der er i stand til at flytte kortet i alle 4 retninger afhængigt af hvilken
knap der rulles over.
Forestil dig at vi tilføjer nedenstående til de fire knapper der kalder
"moveit"
KNAP1:
on (rollOver) {
moveit.retning = "op";
tellTarget ("moveit") {
gotoAndPlay (2);
}
}
on (rollOut) {
moveit.retning = "";
tellTarget ("moveit") {
gotoAndStop (1);
}
}
--------------
KNAP2:
on (rollOver) {
moveit.retning = "ned";
tellTarget ("moveit") {
gotoAndPlay (2);
}
}
on (rollOut) {
moveit.retning = "";
tellTarget ("moveit") {
gotoAndStop (1);
}
}
--------------
KNAP3:
on (rollOver) {
moveit.retning = "hojre";
tellTarget ("moveit") {
gotoAndPlay (2);
}
}
on (rollOut) {
moveit.retning = "";
tellTarget ("moveit") {
gotoAndStop (1);
}
}
--------------
KNAP4:
on (rollOver) {
moveit.retning = "venstre";
tellTarget ("moveit") {
gotoAndPlay (2);
}
}
on (rollOut) {
moveit.retning = "";
tellTarget ("moveit") {
gotoAndStop (1);
}
}

Det vi gør at at sætte en variabel inde i "moveit" der hedder "retning".
"retning"'s værdi kan endten være op, ned, hojre eller venstre. At hvad vi
behøver at gøre nu er at få "moveit" til at checke hvorhen kortet skal
bevæges - Det gør vi med om omgang If'er i frame 2 af "moveit":
if (retning eq "op") {
her placeres actionscript der flytter kortet opad
}
if (retning eq "ned") {
her placeres actionscript der flytter kortet nedad
}
if (retning eq "hojre") {
her placeres actionscript der flytter kortet mod venstre
}
if (retning eq "venstre") {
her placeres actionscript der flytter kortet mod hojre
}

Der er masser af variationer over denne teknik, og det kan helt sikkert
gøres endnu smartere (specielt if-statements'ne kan gøres bedre), men det
her er let forståeligt, let at modificere og yderst genbrugeligt.

/peo
peo@bandage.dk
www.bandage.dk



> Jeg er ved at lave et landkort i flash, man skal kunne scrolle hen over
det,
> ved at køre musen ud til en af siderne (som i red alert, starcraft
o.s.v.).
> Jeg har lavet et par usynlige knapper i siderne, men når man holder musen
> over dem, registrerer den jo kun rolloveren en gang, og mit kort rykker
kun
> et lille ryk og stopper. Hvis man bruger f.eks piletasterne til at
navigere
> med, er det ikke noget problem.
>
> Hvordan får man flash til at blive ved med at kigge efter en rollover på
en
> knap?



Michael Peo (25-05-2001)
Kommentar
Fra : Michael Peo


Dato : 25-05-01 19:48

Sorry.. jeg opdager pludselig at jeg har bøffet lidt i if-statements'ne i
mit svar på dit spørgsmål.
Jeg er kommet til at bytte om på hojre on venstre - beklager!

/peo
peo@bandage.dk
www.bandage.dk




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste