Avatar billede repsej22 Nybegynder
08. december 2005 - 22:50 Der er 5 kommentarer

Simpelt actionscript spørgsmål

Jeg skal lave en præsentation i Flash. Regner med at lave 20 frames med en stop action i hver frame.
Hvilken action skal der være i hver frame for at jeg kan styre præsentationen med piletasterne, f.eks pil op = næste frame, pil ned forige frame?

Præsentationen skal køre i fullscreen...er der ikke noget med at det kræver en fscommand action i første frame...men hvilken nøjagtigt?

På forhånd tak...
Avatar billede thulstrup Nybegynder
08. december 2005 - 23:27 #1
Du behøver ikke lave en stop action i hver frame. Bare placer nedenstående i din første frame:

fscommand("fullscreen", true);
var keyListener:Object = [];
Key.addListener(keyListener);
keyListener.onKeyDown = function() {
    if (Key.isDown(Key.UP)) {
        _root.nextFrame();
    } else if (Key.isDown(Key.DOWN)) {
        _root.prevFrame();
    }
};
Key.addListener(myListener);
stop();
Avatar billede repsej22 Nybegynder
08. december 2005 - 23:52 #2
Det er jo fantastisk...det er lige sådan et jeg kan bruge...

Jeg får bare at vide at der er en fejl i scriptet:
**Error** Scene=Scene 1, layer=Layer 3, frame=1:Line 5: Operator '=' must be followed by an operand
        if (Key.isDown(Key.UP)) {

Total ActionScript Errors: 1     Reported Errors: 1

Kan du hjælpe?
Avatar billede thulstrup Nybegynder
09. december 2005 - 08:44 #3
Benytter du ActionScript 1 eller 2?

Prøv at lave linien:
var keyListener:Object = [];

om til:
var keyListener = [];
Avatar billede sirbatman Nybegynder
12. december 2005 - 02:05 #4
Hej repsej22!
Jeg har lavet en simpel løsning således.

lav et nyt flash dokument, lav 3 layers, kald det nederste indhold, det er her du skal komme dit foredrag ind, layer 2 kalder du button, her skal der lægges en usynlig knap ind, det skal du fordi at; on (keyPress "<Up>") {, er forbeholdt button funktionen.
du skal i; layer 2, frame1, klikke 1 gang på den usynlige knap og skrive i actionfeltet;

on (keyPress "<Up>") {
    nextFrame();
}
on (keyPress "<Down>") {
    gotoAndStop(20);  <---(her skal stå 20 hvis det er det sidste frame nummer)
}

lav herefter en keyframe i nummer 2 frame, tryk 1 gang på den usynlige knap og skriv i action feltet;

on (keyPress "<Up>") {
    nextFrame();
}
on (keyPress "<Down>") {
    prevFrame();
}

i den sidste frame laver du en keyframe og trykker 1 gang på den usynlige knap og skriver i actionfeltet;

on (keyPress "<Up>") {
    gotoAndStop(1);
}
on (keyPress "<Down>") {
    prevFrame();
}


herefter kalder du layer 3 for action, og skriver i frame 1, i action feltet;

stop();
fscommand("fullscreen", true);

Dette skulle virke, den usynlige knap kan du placere uden for scenen så der ikke kan klikkes på den når showet kører.

Håber det virker, sirbatman
Avatar billede repsej22 Nybegynder
12. december 2005 - 10:14 #5
thulstrup: Jeg fandt ud af at de første script virkede. Åbentbart sker der noget når jeg copy/paster på mac. Jeg slettede alle mellemrum, og så virkede det  :o)
Dog synes jeg at der er et lille problem: Hvis man bare åbner præsentationen og klikker derudaf virker det fint. Hvis man derimod klikker tilbage til første frame og starter forfra begynder den at springe nogle slides over f.eks 1-3-5-7-9.
Kan man scripte sig ud af det?
sirbatman: Din løsning virker også meget nem, så hvis jeg ikke får ovenstående til at virke prøver jeg nok med din løsning.
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