Avatar billede reptil Nybegynder
16. april 2002 - 00:02 Der er 16 kommentarer

simpel navigation i forbindelse med en opgavepræsentation???

Hej Eksperter,
Jeg har lavet en illustreret opgave i flash istedet for at bruge powerpoint...Jeg vil gerne kunne gå frem og tilbage i filen som jeg ønsker..Til at starte med skal der ikke være nogen visuel navigation.
Jeg skal bare kunne trykke på space, og filmen stopper, og næste gang jeg trykker space, så fortsætter den, hvor den slap.. , Hvis det er muligt skal jeg kunne springe rundt i de forskellige labels, ved at trykke højre og venstre pil ned..
Jeg har bygget filen op således at jeg har en lille intro i starten, derefter ligger de forskellige MC's under hver sin label... 01,02,03 etc..

Det virker som et meget banalt spørgsmål, men jeg håber I kan hjælpe.... Please...
Avatar billede _michael_ Nybegynder
16. april 2002 - 08:59 #1
Hvis du bruger den nye Flash MX, skal er der allerede en skabelon til den slags præsentationer, du taler om (Det er vel Macromedias forsøg på at 'hugge' powerpoint-kunder) - og det er meget nemt at gå til. :o)
Du skal vælge 'new from template'->'presentation' og så vælge hvilket grundlayout, du vil have. Der er wizard med til, hvordan du smækker dine billeder, mc's etc ind - og det er faktisk ret nemt.
Så hvis du ikke har Flash MX, foreslår jeg dig, at du downloader macromedia's trial-version, der er fuldt funktionsdygtig i (vistnok) 30 dage. Lav din opgave deri.

Held og lykke med opgaven. :o)
Michael
Avatar billede baitianlong Nybegynder
16. april 2002 - 20:36 #2
Lav et movieclip, der er tomt, eller blot indeholder en figur, som du placerer udenfor scenen. skriv denne kode:

onClipEvent(load) {
film=1;                          //dvs. Filmen kører
}

onClipEvent(enterFrame) {
if(film=0) {                      //Hvis filmen ikke kører
if(Key.isDown(key.SPACE)) {        //Og hvis man trykker space
_root.play();                    //Skal filmen køre.
film=1;                          //Filmen kører
}
}
else if(film=1) {                //Men hvis filmen kører
if(Key.isDown(key.SPACE)) {        //Og man trykker SPACE
_root.stop();                    //Skal filmen stoppe
film=0;                          //Filmen er stoppet
}
}
}

-Så skulle den gerne stoppe og starte med SPACE-tasten (o;
Avatar billede reptil Nybegynder
17. april 2002 - 10:53 #3
Hej Legende.
Jeg har brugt dit script, men det virker ikke optimalt,
når jeg trykker på space mens filem kører, er det som om den ikke helt forstår at den skal stoppe konsekvent, nogle gange stopper den, andre gange ikke,....Måske er det fordi det er (enterframe), og da det er en lang movie, som kører i 50 fps kan det være den ikke helt når at registrere scriptet korrekt hver gang...?????
Hva' siger du ?



onClipEvent(load) {
film=1;                          //dvs. Filmen kører
}

onClipEvent(enterFrame) {
if(film==0) {                      //Hvis filmen ikke kører
if(Key.isDown(key.SPACE)) {        //Og hvis man trykker space
_root.play();                    //Skal filmen køre.
film=1;                          //Filmen kører
}
}
else if(film==1) {                //Men hvis filmen kører
if(Key.isDown(key.SPACE)) {        //Og man trykker SPACE
_root.stop();                    //Skal filmen stoppe
film=0;                          //Filmen er stoppet
}
}
}
Avatar billede barklund Nybegynder
17. april 2002 - 11:18 #4
prøv istedet for din enterFrame:

onClipEvent(keyUp) {
    if(Key.getCode() == key.SPACE) {
        film = !film;
        if (film) {
            _root.play();
        } else {
            _root.stop();
        }
    }
}

Den registrerer på hvert eneste "keyUp" istedet... Og kun én gang på hvert keyUp... Den anden registrerede, om knappen var nede på hver enterFrame, og med mindre man holdt den nede mindre end 2/100 sekund, så registredes dette over flere enterFrame's, der både startede og stoppede filmen...

/Barklund
Avatar billede reptil Nybegynder
17. april 2002 - 11:59 #5
Hej Barklund,
Det er en super god ide, og den virker,... Lige indtil at min film kommer til de forskellige movie clips, som jeg har lagt under diverse labels, problemet er at de har hver deres egen tidslinie, og scriptet referere kun til _root. Hvad kan jeg gøre for at scriptet både referere til _root, og de respektive movieclips...Således at HELE filmen reagerer ved key.SPACE. ??????
Avatar billede barklund Nybegynder
17. april 2002 - 12:27 #6
det kan man ikke, for hvordan skal scriptet kunne gætte, hvilken af dine tidslinier, som skal køres, og hvilke der ikke skal køres... Hvis alt skal køre samtidig, og dine movieclips med grafik skal stoppe, når hovedfilmen stopper, så lav dem om til symbol-type "graphic" i stedet...
Avatar billede reptil Nybegynder
17. april 2002 - 12:47 #7
Hej Barklund,,
Hvis jeg laver dem om til "graphic" istedet, så funker det ikke, de vil simpelthen ikke spille...???
Avatar billede barklund Nybegynder
17. april 2002 - 13:05 #8
ikke hvis baggrund står stille imens... graphic's spiller, når deres _parent spiller...
Avatar billede reptil Nybegynder
17. april 2002 - 14:00 #9
Okay så vidt jeg forstår, så mener du at hovedtidslinien (_root) står stille når graphic symbolerne spiller, hvilket jo er rigtigt, jeg har lavet en stop action på samme frame hvor movieclippet ligger.
Problemet er, at mine movieclips ikke vil spille når jeg har lavet dem om til graphic symboler ??? hvordan kan det være ???
Avatar billede barklund Nybegynder
17. april 2002 - 22:35 #10
som jeg siger... modsat det du siger... graphics følger ikke længere deres egen tidslinie med tidslinien over dem... Du er nødt til at indsætte lige samme mange ekstra frames i din _root, som dine graphics er lange... ellers virker det ikke...
Avatar billede baitianlong Nybegynder
17. april 2002 - 23:10 #11
Ellers kan man vel navngive movieclips'ne og tilføje dem i scriptet

if (film) {
            _root.play();
            _root.movieclip1.play();
            _root.movieclip2.play();

osv osv.....
Avatar billede barklund Nybegynder
17. april 2002 - 23:21 #12
selvfølgelig... hvis du har styr på dem alle sammen... Men de steder, hvor hovedfilmen står stille og dine movieclips skal spille, så skal hovedfilmen jo ikke startes igen bagefter, vel?

Men vil du gerne gå denne vej, så kan vi lave en lille funktion, der tillader et movieclip at "abonnere" på denne start-stop-funktion - og også at afmeld sit "abonnement". Scriptet herunder skal tilføjes i første frame af din _root.

tilmeldte = new Array();
Array.prototype.find = function(key) {
    for (i in this) {
        if (this[i] == key)
            return i;
    }
    return -1;
}
function tilmeld(mc) {
    if (tilmeldte.find(mc) == -1)
        tilmeldte.push(mc);
}
function afmeld(mc) {
    if ((p=tilmeldte.find(mc)) != -1)
        tilmeldte.slice(p,1);
}

Dit script på din knap er så:

onClipEvent(keyUp) {
    if(Key.getCode() == key.SPACE) {
        film = !film;
        var fun = film ? "play" : "stop";
        for (i in _root.tilmeldte)
            _root.tilmeldte[i][fun]();
    }
}

Når du så stopper din hovedfilm og tilføjer nogle movieclips i stedet, så skriver du i hovedfilmens stop-frame:

stop();
_root.afmeld(_root);

På din mc's tilføjer du:

onClipEvent(load) {
    _root.tilmeld(this);
}

I sidste frame af dine mc's, hvor du vel også har en _root.play(), for at _root kommer videre, der tilføjer du:

_root.play();
_root.tilmeld(_root);
_root.afmeld(this);

Håber det kan bruges...

/Barklund
Avatar billede baitianlong Nybegynder
17. april 2002 - 23:24 #13
Du er for heftig, Barklund (o;
Avatar billede barklund Nybegynder
17. april 2002 - 23:48 #14
Det tager jeg som en kompliment...
Avatar billede baitianlong Nybegynder
18. april 2002 - 00:30 #15
Det var det også, ...bare din kode nu ikke har "skræmt" spørgeren væk /o;
Avatar billede barklund Nybegynder
18. april 2002 - 00:33 #16
Den var da ganske ligetil at tænke... Hvodden skulle det ellers laves? Spørgeren er nok gået i seng ligesom vi andre burde...
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