|  | 		    
					
        
         
          
         
	
          | |  | Problem: Keydown--> "frameloop" starter, m~ Fra : Nik
 | 
 Dato :  10-08-01 18:47
 | 
 |  | Hej
 
 Jeg er i gang med en flash fil, hvor man skal styre en figur rundt på
 skærmen/scenen.
 
 Jeg har  lavet det således at figuren styres ved hjælp af piletasteren via
 "Key.isDown" scripts der styrer figuren/movie-clippet på x- og y-akserne.
 Figuren går f.eks. opad ved hjælp af:
 
 if (Key.isDown(Key.UP)) {
 setProperty ("", _y, _y-5);
 
 Samtidig vil jeg gerne have figuren til animeres lidt når han går, f.eks.
 bevæge armene. Det skal jo så også ske når brugeren f.eks. trykker på "pil-
 op" tasten og jeg havde tænkt mig at lave det således:
 
 if (Key.isDown(Key.UP)) {
 setProperty ("", _y, _y-5);
 tellTarget ("") {
 gotoAndPlay (2);
 }
 }
 
 Udover at figuren går op ad på scenen, ved tryk på tasten, så går man også
 til frame 2 inde i selve movie-clippet/figuren. Og ved frame 2 i movie-
 clippet starter så en animation på et par frames, der kører i loop.
 Animationen starter da også, men problemet er at den aldrig når længere end
 til frame 2, fordi man bliver ved med at holde piletasten nede for at
 bevæge figuren. Når man f.eks. holder "pil-op" tasten nede, så opfatter
 flash det som om at man trykker rigtig mange gange og den starter så i
 frame 2 igen og igen og når ikke de to andre frames i animationen.
 
 Er det muligt at lave det således at animationen bliver gennemført, mens
 tasten holdes nede (og figuren styres rundt på scenen)?
 
 En løsning behøver ikke at tage udgangspunkt i "mit" script, jeg vil bare
 gerne kunne styre en figur, samtidig med at den animeres.
 
 Mvh.
 Nikolaj
 
 
 
 |  |  | 
  cysol (31-08-2001) 
 
	
          | |  | Kommentar Fra : cysol
 | 
 Dato :  31-08-01 08:18
 | 
 |  | hey nik
 
 hvor henne sidder dit script ?
 hvis det sidder på main timeline er det klart at det hopper tilbage til
 frame2 når du trykker .. det beder du jo movien om.
 smid scriptet ind i dit "animated character" movieclip.
 
 if (Key.isDown(Key.UP)) {
 with(this){
 _y -= 5;
 gotoAndPlay(2);
 }
 }
 
 udover det er det noget nemmere at styre hvis du bruger navngivne jumps.
 
 if (Key.isDown(Key.UP)) {
 with(this){
 _y -= 5;
 gotoAndPlay("animStart");
 }
 }
 
 så kan du nemlig flytte rundt på dine frames uden at skulle ind i dit script
 hver gang.
 
 mvh
 Morten
 "Nik" <rum@inorbit.com> wrote in message
 news:I6Vc7.3456$MK.170458@news010.worldonline.dk...
 > Hej
 >
 > Jeg er i gang med en flash fil, hvor man skal styre en figur rundt på
 > skærmen/scenen.
 >
 > Jeg har  lavet det således at figuren styres ved hjælp af piletasteren via
 > "Key.isDown" scripts der styrer figuren/movie-clippet på x- og y-akserne.
 > Figuren går f.eks. opad ved hjælp af:
 >
 > if (Key.isDown(Key.UP)) {
 > setProperty ("", _y, _y-5);
 >
 > Samtidig vil jeg gerne have figuren til animeres lidt når han går, f.eks.
 > bevæge armene. Det skal jo så også ske når brugeren f.eks. trykker på
 "pil-
 > op" tasten og jeg havde tænkt mig at lave det således:
 >
 > if (Key.isDown(Key.UP)) {
 > setProperty ("", _y, _y-5);
 > tellTarget ("") {
 > gotoAndPlay (2);
 > }
 > }
 >
 > Udover at figuren går op ad på scenen, ved tryk på tasten, så går man også
 > til frame 2 inde i selve movie-clippet/figuren. Og ved frame 2 i movie-
 > clippet starter så en animation på et par frames, der kører i loop.
 > Animationen starter da også, men problemet er at den aldrig når længere
 end
 > til frame 2, fordi man bliver ved med at holde piletasten nede for at
 > bevæge figuren. Når man f.eks. holder "pil-op" tasten nede, så opfatter
 > flash det som om at man trykker rigtig mange gange og den starter så i
 > frame 2 igen og igen og når ikke de to andre frames i animationen.
 >
 > Er det muligt at lave det således at animationen bliver gennemført, mens
 > tasten holdes nede (og figuren styres rundt på scenen)?
 >
 > En løsning behøver ikke at tage udgangspunkt i "mit" script, jeg vil bare
 > gerne kunne styre en figur, samtidig med at den animeres.
 >
 > Mvh.
 > Nikolaj
 >
 
 
 
 
 |  |  | 
 |  |