Avatar billede thomaskramer Juniormester
10. juni 2006 - 12:28 Der er 21 kommentarer og
1 løsning

Køre ind - Køre ud

Ja jeg ved ikke lige hvordan jeg skulle skrive en fængende overskrift.

Jeg er flash novice - dog kan jeg godt finde ud af at lave små film og få dem til at reagere på tryk på f.eks. knapper.

MEN...

Der er en ting - som sikkert er rigtig simpelt - som jeg ikke forstår en bønne af.

Beskrivelse:

jeg har en flash side som er blank - dog er der to knapper. Knap 1 hedder "blå bold" og Knap 2 hedder "rød bold".

Når man trykker på BLÅ BOLD skal en blå bold komme ned fra oven og lande på min stage. Det er der ingen ben i.

MEN...

Når jeg så trykker på RØD BOLD - og nu kommer mit spørgsmål - så vil jeg gerne have at den BLÅ BOLD kører ud af stagen i samme rute som den kom fra, hvorefter den RØDE BOLD så kommer dumpende ned.

Således skal det også ske med den RØDE BOLD når man igen trykker på knappen med teksten BLÅ BOLD. Ud med den røde, ind med den blå. Og så videre, og så videre, og så videre.

I mit forsimplede sprog så skal animationen med den pågældende bold på stagen altså bare "spoles tilbage" igen.. for at gøre plads til næste bold.

Er der nogen der kan hjælpe?

Husk, at jeg ikke er specielt skrap til dette, så det må gerne forklares godt og grundigt.

På forhånd tak
Thomas
Avatar billede thomaskramer Juniormester
12. juni 2006 - 07:54 #1
Er der ingen der kan svare?

Eller er det for dårligt forklaret? :-)
Avatar billede skovge Novice
12. juni 2006 - 08:33 #2
Tag et kig på det her eksempel - der kan du se hvordan du skal gøre (du skal self bare ændre animationen fra fade ind/ud til dinmotion tween):

http://www.atomicdata.dk/eksperten/knapper/knapper_new.html
Avatar billede skovge Novice
12. juni 2006 - 08:34 #3
Hvis du har spørgsmål eller har brug for mere forklaring så dytter du bare.  :-)
Avatar billede thomaskramer Juniormester
12. juni 2006 - 08:47 #4
Det er lige præcist det jeg søger.

Bortset fra at mine animationer kommer flyvende ind fra oven.

Jeg prøver lige at se om jeg kan få min hjerne omkring det.

(kan godt lide at du skriver "bare ændre..." - jeg er ultranoviceautodedaktselvlærtbegynderamatør)

Men tak - indtil videre :-)
Avatar billede skovge Novice
12. juni 2006 - 09:05 #5
Det er ikke så svært endda - har ændret den til noget der mere ligner det du søger - kig her:

http://www.atomicdata.dk/eksperten/knapper

der kan du se eksemplet knaper2 og hente .fla
Avatar billede thomaskramer Juniormester
12. juni 2006 - 09:53 #6
Hmmmm

Så vidt jeg kan se så fader knap1 ud samtidigt med at knap2 fader ind.

Jeg vil gerne have det sådan at det "aktive" movieclip afvikles (spoles tilbage)og at det næste movieclip først afspilles når det "aktive" er væk.

Kan det lade sig gøre?
Avatar billede thomaskramer Juniormester
12. juni 2006 - 09:54 #7
jeg har tekst og billeder, som skal køre frem og tilbage - derfor vil det se lidt tosset ud hvis de "krydser" hinanden...

(derfor)
Avatar billede skovge Novice
12. juni 2006 - 10:23 #8
Det kan sagtens lade sig gøre - så skal du bare flytte lidt rundt på actionscriptet, således at koden til at fade ind ligger som  den går nu på knappens on(release) handler, og koden til at fade ind ligger i sidste frame af mc'ets fade ind - dvs. hvis du clicker på knappen til vis blå bold, så skal koden på knappen afspille rød bold ud og koden i rød bold ud's sidste frame skal være afspil blå bold ind - håber det gav mening.
Avatar billede thomaskramer Juniormester
12. juni 2006 - 11:20 #9
Jeg er helt og aldeles på herrens mark :-)

Flash'en skal i sidste ende være en komplet hjemmeside - altså skal der være 6-7 menupunkter med hver sine 3-4 underpunkter.

Bliver det så noget forfærdeligt rod at lave det på denne måde??

Kan man lave et script der gør følgende:

Når man trykker på en given knap, så fader det aktive mc ud (uanset hvilket af de 25 mc det er) og det valgte fader ind når, det andet er færdigt med at fade ud.
Avatar billede thomaskramer Juniormester
12. juni 2006 - 11:21 #10
Altså de "ikke aktive" mc skal jo ikke pludseligt begynde at fade ud, når man trykker på en given knap.

Det var det jeg mente
Avatar billede skovge Novice
12. juni 2006 - 12:48 #11
Jeps - så skal du nok lege lidt med variabler. Hvis du nu trykker på knap nummer 4 så fader du mc4 ind med koden:
on(release){
mc4.gotoAndPlay("ind");
}

Hvis du så trykker på knap nummer 7, så skal den jo have samme kode til af fade mc7 ind, men samtidig skal vi jo så have mc4 til at fade ud - så du tilføjer en variabel (vi kunne jo kalde den loaded) til din kode for knapperne, ex.vis: loaded=4; - og når man så trykker på en anden knap bruger du variablen til at fortælle hvilket mc der skal fades ud - altså noget i stil med (og gemmer det i en ny variabel (fade)):

fade = "mc"+loaded;

dvs. koden ser nu sådan ud for knap 7:
on(release){
loaded=7;
fade.gotoAndPlay("ud");
mc7.gotoAndPlay("ind");
}

...det er ikke den helt rigtige syntaks, men har ikke lige tid til at finde den korrekte lige nu - prøv dig evt. frem eller se om der er andre der byder ind - problemet er omkring fade = "mc"+loaded;  og  fade.gotoAndPlay("ud");  - det kan ikke helt lade sig gøre i den form - men kan ikke lige på stående fod huske den korrekte form.
Avatar billede thomaskramer Juniormester
12. juni 2006 - 19:06 #12
Du kunne lige så godt bede mig om at skrive en afhandling på russisk :-)

Den er helt gal, hehe

Men jeg prøver at se hvad jeg kan finde ud af...

Tak for hjælpen :-)
Avatar billede thomaskramer Juniormester
13. juni 2006 - 00:46 #13
Hej igen

Nu har jeg rodet en hel del med det - men det virker ikke helt

Jeg har lavet to mc efter din opskrift... og to knapper.

Men jeg kan godt få mc til at loade med den ene knap, og unloade med den anden. Men der bliver ikke loadet noget nyt mc når jeg trykker på knap nr2.

Jeg har lagt det op på nettet, så du kan se hvad jeg har lavet:

http://test.remarks.dk/fadeinfadeout.fla

Kan du se hvad der er galt??
Avatar billede skovge Novice
13. juni 2006 - 08:00 #14
Hej

Du har glemt at navngive dit andet mc "pige" - altså ikke da du lavede det til et mc, men nede i properties, marker mc'et og skriv "pige" i textboksen lige under den dropdownbox hvor der står Movie Clip
Avatar billede thomaskramer Juniormester
13. juni 2006 - 10:05 #15
Det var da lige det... :-)

Nu skal jeg så igang med at tilføje flere knapper og mc's...

Hvordan gør jeg så det?

Skal jeg blot tilføje linier i scriptet på knapperne, som svarer til de mc's jeg laver??
Avatar billede skovge Novice
13. juni 2006 - 10:44 #16
Ja, i princippet kan du bare blive ved med at tilføje else if sætninger derudaf - men hvis du har 25 mc bliver det jo meet langt, det var derfor jeg snakkede om at forsøge at kreere den ekstra variabel "fade" med nummeret fra knappen - du kunne evt. oprette et lille ekstra spørgsmål og se om der er nogen der lige kan actionscripte den.

For ikke at gøre din fil alt for stor, kunne du også overveje at lave dine 25 mc som selvstændige filer og så loade dem ind i et tomt mc (en container) i din main fil.
Avatar billede thomaskramer Juniormester
13. juni 2006 - 23:46 #17
nu bliver det for avanceret....

Lav lige et "svar" så jeg kan give dig point (den kan man ikke når det er en kommentar??)
Avatar billede skovge Novice
14. juni 2006 - 14:07 #18
Okay - håber du får det til at virke, ellers er du da i hvert fald blevet en lille smule klogere på Flash.  :-)
Avatar billede thomaskramer Juniormester
14. juni 2006 - 14:22 #19
hmm - kan du give et eksempel på hvordan "if else" sætningen kommer til at se ud, hvis jeg nu har 5 mc med navnene Drengen, Pige, Bold, Bil og Bus.

Pointene er i hus
Avatar billede skovge Novice
14. juni 2006 - 14:43 #20
Hvis vi nu siger at du så har 5 knapper der er tilknyttet de 5 mc således:
1 = DRENGEN
2 = Pige
3 = Bold
4 = Bil
5 = Bus

...så vil koden til knap 1 se således ud:

on(release){
    if (click == 0) {
        DRENGEN.gotoAndPlay("show");
        click = 1;
    }
    else if(click == 1) {
        //do nothing
    }
    else if(click == 2) {
        pige.gotoAndPlay("hide");
        DRENGEN.gotoAndPlay("show");
        click = 1;
}
else if(click == 3) {
        Bold.gotoAndPlay("hide");
        DRENGEN.gotoAndPlay("show");
        click = 1;
}
else if(click == 4) {
        Bil.gotoAndPlay("hide");
        DRENGEN.gotoAndPlay("show");
        click = 1;
}
else if(click == 5) {
        Bus.gotoAndPlay("hide");
        DRENGEN.gotoAndPlay("show");
        click = 1;
}
}

og koden til knap 3 vil se således ud:

on(release){
    if (click == 0) {
        Bold.gotoAndPlay("show");
        click = 3;
    }
    else if(click == 1) {
        DRENGEN.gotoAndPlay("hide");
        Bold.gotoAndPlay("show");
        click = 3;
    }
    else if(click == 2) {
        pige.gotoAndPlay("hide");
        Bold.gotoAndPlay("show");
        click = 3;
}
else if(click == 3) {
        //do nothing
}
else if(click == 4) {
        Bil.gotoAndPlay("hide");
        Bold.gotoAndPlay("show");
        click = 3;
}
else if(click == 5) {
        Bus.gotoAndPlay("hide");
        Bold.gotoAndPlay("show");
        click = 3;
}
}

...og så fremdeles - dvs. du skal først kontrollere om der er vist noget mc i forvejen (hvis click == 0 så er der ikke loadet noget) hvis der ikke er så loader du dit mc og sætter din variabel til nummeret på den knap der clickes på. Hvis der er vist et mc i forvejen så er click ikke lig nul og den går videre i koden og tester på alle else if til den finder en der har den rigtige værdi. Hvis der er trykket på den knap der svare til den værdi click har i forvejen skal der ikke ske noget (mc'et vises jo allerede) derfor //do nothing - hvis der vises et andet mc i forvejen skal det først unloades .gotoAndPlay("hide") hvorefter det nye mc loades .gotoAndPlay("show") og din variabel sættes lig med det mc dert nu vises ( ex.vis : click=3)
Avatar billede thomaskramer Juniormester
14. juni 2006 - 22:55 #21
Se det var præcist det jeg også var kommet frem til - NOT! :-)

jeg takker og bukker for hjælpen - og slutter for denne gang.
Avatar billede skovge Novice
14. juni 2006 - 22:59 #22
Hehe - glad for at kunne hjælpe, håber du får det til at virke!
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