2011-08-25 3 views
0

ActionScript를 사용하여 키 누르기를 수신하고이를 처리 할 메서드로 전달합니다. Flash Player Debugger 10.1에서는 제대로 작동하지만 브라우저의 SWF에서는 작동하지 않습니다.Flash : KeyboardEvent 키 코드는 Flash Player에서 작동하지만 브라우저는 작동하지 않습니다.

글자, 숫자 등 모든 종류의 키를 사용해 보았습니다. 그러나 브라우저에서 전혀 작동하지 않습니다. 저는 Mac에서 Safari 5.1과 Firefox 3.6.8을 사용하고 있습니다.

import flash.events.KeyboardEvent; 

stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed); 

public function keyPressed(k:KeyboardEvent):void 
    { 
     switch(k.keyCode) 
     { 
      case(32): 
       // spacebar 
       demoTimeline.pause(); 
       break; 
      case(leftArrow): 
       // left arrow - 188 
       demoTimeline.reverse(); 
       break; 
      case(rightArrow): 
       // right arrow - 190 
       demoTimeline.play(); 
       break; 
      case(191): 
       // question mark - 191 
       demoTimeline.restart(); 
       break; 
     } 
    } 
+0

SWF를 페이지에 삽입하는 데 사용하는 HTML/JS를 게시 할 수 있습니까? – shanethehat

+0

방금 ​​Flash CS5의 설정을 통해 HTML을 게시하고 있습니다. 나는 무엇이든 쓰는 관습이나 SWFObject를 혼자서 사용하거나 그와 같은 것을 사용하지 않습니다. – Gregir

답변

1

는 SWF 개체가 키보드 이벤트를 수신 초점을 할 필요가 :

여기 내 관련 코드입니다. 따라서 SWF가 브라우저에 표시 될 때 SWF를 클릭하면 제대로 작동합니다.

보안상의 이유로 전체 브라우저 창을 사용하는 경우에도 포커스가 Flash 개체에 없으면 키보드 입력을받을 수 없습니다.

+0

흥미 롭습니다 : SWF를 클릭해도 Safari에서는 작동하지 않으며 Firefox에서는 부분적으로 만 작동합니다 (화살표 키는 작동하지만 스페이스 바는 작동하지 않음). – Gregir

관련 문제