Avatar billede rudestrand Nybegynder
18. marts 2005 - 15:15 Der er 15 kommentarer og
2 løsninger

starte sin flash movie med en tastatur knap

Hvordan får man sin movie  (.swf) til at starte og stoppe med tastur knapper?
Avatar billede barklund Nybegynder
18. marts 2005 - 15:22 #1
Kig på Key.addListener og Key.getCode - så burde det være ganske lige til :)
Avatar billede doodoo Novice
18. marts 2005 - 15:23 #2
Umiddelbart kan du ikke gøre det ved en SWF fil...

Der skal du eje og kunne redigere i FLA filen ved brug af ActionScripts
Avatar billede doodoo Novice
18. marts 2005 - 15:26 #3
fx.

on (keyPress "<Space>") {
  gotoAndPlay(2);
}

så efter at have trykket på space vil den gå til frame 2
Få lidt flere tips her http://www.kirupa.com/developer/mx/movement_keys.htm
Avatar billede barklund Nybegynder
18. marts 2005 - 15:57 #4
*sigh* - on(keypress) er noget flash 5 hejs

Hold dig til Key.addListener stuff - det er lidt mere nydeligt :)
Avatar billede doodoo Novice
18. marts 2005 - 16:20 #5
....men  det virker stadig mr. perfect haha ;)
- synes det er iorden du holder dig til standarden Barklund (seriøst)
Avatar billede barklund Nybegynder
18. marts 2005 - 16:33 #6
Det ændrer ikke på, at det er nasty - ligesom onClipEvent, tellTarget, setProperty og den slags :)
Avatar billede doodoo Novice
18. marts 2005 - 16:41 #7
jamen vi er nogle der sidder fast der jo =)
Avatar billede rudestrand Nybegynder
21. marts 2005 - 09:39 #8
For det første, duer det med on(keypress) ikke fordi det skal asignes til en knap. Jeg har brug for at kunne stoppe og starte min movie som er en præsentation som kører fra start til slut på en storskærm på en messe.
Nærmere bestemt skal den startes ved tryk på en tastaturknap, så kører den afsted, men stopper selv nogle steder, og her skal den kunne sættes igang igen med en anden tastaturknap. Der er ikke nogle knapper lagt ind i movien til at smide ActionScripts på.
For det andet, kunne jeg godt tænke mig hvis Barklund ville komme med et eksempel på hvordan koden skrives med Key.addlistener - ellers får jeg det aldrig til at virke :))
Avatar billede barklund Nybegynder
21. marts 2005 - 09:49 #9
Har du kigget på, hvordan man laver en keylistener i Flash hjælpen?

Og derudover er on(keypress) jo netop lidt falsk, da man godt nok lægger det på en fysisk knap, men at det ikke er en knap, der skal trykkes på som sådan - den aktiveres netop ved tastetryk og ikke musetryk. Hvordan skulle den ellers virke - så ville on (keypress) jo slet ikke give mening, hvis man skulle bruge musen?

Det er ret nemt, mange har fundet ud af det før dig - så jeg er sikker på, at Flash hjælpen har langt rigeligt information. Kig først under Key.addListener og Key.onKeyUp, derefter Key.getCode() til at finde ud af, hvilken tast, der er trykket på.

--
Morten Barklund
Avatar billede rudestrand Nybegynder
21. marts 2005 - 10:17 #10
Hmm, jeg prøvede med on(Keypress), men flash brokkede sig og fortalte at det kun kunne bruges på en knap...jeg ved ikke hvorfor! Men jeg undlader at brugen den, når du nu siger at jeg ikke må!
Nu er vi jo nok ude i det relative mht hvad der er nemt og hvad der ikke er, jeg spørger fordi jeg ikke finder det nemt, men behøver hjælp for at komme videre :-
Jeg har lavet dette her, men er i tvivl om hvordan jeg gør rede for hvilken tastaturknap man skal trykke på:

stop();

var keyListen:Object = new Object();
keyListen.OnKeyDown = function(){
    gotoAndPlay(2);
    }
Avatar billede barklund Nybegynder
21. marts 2005 - 10:22 #11
Først mht. on(keypress) - ja du skal lægge det på en knap, men nej knappen er ikke en normal knap. Du skal bare lave en knap, men den skal ikke bruges til andet end at registrere tastetryk. Derfor er det lidt fjollet - men det virker.

Du skal lige få dit objekt til at lytte efter key-events først - dette gøres med Key.addListener. Derefter skal du inden i din funktion (der skal hedde onKeyDown eller endnu bedre onKeyUp) kan du lave en if (Key.getCode() == et_tal) gør noget...
Avatar billede rudestrand Nybegynder
21. marts 2005 - 10:49 #12
Efter at have læst i Flash hjælpen, har jeg så fundet frem til dette:

stop();

myListener = new Object();
myListener.onKeyUp = function () {
  trace ("You released a key.");
}
Key.addListener(myListener);


var keyListen:Object = new Object();
keyListen.OnKeyUp = function(){
    gotoAndPlay(2);
    }

Men jeg er nu meget i tvivl om hvordan jeg tilegner en bestemt knap til funktionen, det ser ud til at være dette script jeg skal bruge????
(The following script uses the Key object to identify keys on any keyboard so that the user can control a movie clip. )

onClipEvent (enterFrame) {
    if(Key.isDown(Key.RIGHT)) {
        this._x=_x+10;
    } else if (Key.isDown(Key.DOWN)) {
        this._y=_y+10;
    }
}
Avatar billede barklund Nybegynder
21. marts 2005 - 10:52 #13
Tja, nu sagde jeg jo Key.getCode - Key.isDown er ikke helt anvendlige her.

Men hvorfor har du lige pludselig to objekter - hvoraf det ene ikke bruges?

myListener = new Object();
myListener.onKeyUp = function () {
  trace ("You released a key: "+Key.getCode());
}
Key.addListener(myListener);

Nu kan du se, hvilken tast du har sluppet. Altså du får tal-koden for tasten.

Denne kan du så bruge til at skrive noget med:

myListener = new Object();
myListener.onKeyUp = function () {
  if (Key.getCode() == 65) {
    trace("Der er trykket på a");
  }
}
Key.addListener(myListener);

Og dermed gøre noget bestemt pr. tast.

--
Morten Barklund
Avatar billede rudestrand Nybegynder
21. marts 2005 - 11:32 #14
Okay, nu virker det! Tak for hjælpen:)
Smid et svar og du og doodoo deler points
Avatar billede barklund Nybegynder
21. marts 2005 - 11:34 #15
Yessir :)
Avatar billede barklund Nybegynder
21. marts 2005 - 11:34 #16
*host*
Avatar billede barklund Nybegynder
21. marts 2005 - 11:52 #17
Tark for points ;)
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