시작하는 게임에서 KeyboardEvent를 사용하는 데 문제가 있습니다.Flash에서 KeyboardEvent가 작동하지 않습니다.
수준
import flash.display.MovieClip;
import flash.events.Event;
public class Fase extends Cena
{
var avatar:Avatar;
public function Fase()
{
// constructor code
this.addEventListener(Event.ADDED_TO_STAGE, onAdded);
}
public function onAdded(e:Event)
{
avatar = new Avatar();
this.addChild(avatar);
avatar.x = stage.width/2;
avatar.y = 30;
}
public function die()
{
this.removeEventListener(Event.ADDED_TO_STAGE, onAdded);
(this.parent as ScreenHandler).removeChild(this);
}
}
아바타 내가 가진
public class Avatar extends MovieClip
{
public function Avatar()
{
// constructor code
this.addEventListener(Event.ADDED_TO_STAGE, onAdded);
}
public function onAdded(e:Event)
{
//stage.focus=this;
this.addEventListener(KeyboardEvent.KEY_DOWN, apertou);
}
public function apertou(event:KeyboardEvent)
{
trace("o");
if(event.keyCode == Keyboard.LEFT)
{
this.x++;
}
}
}
: 나는 아바타를 대표하는 세 개의 클래스, 레벨을 처리하기위한 하나, 실제 레벨 하나 하나가 아바타에서 stage.focus = this를 사용하면 두 클래스의 모든 패키지가 모두 작동하지만 게임 실행 중에 다른 곳을 클릭하면 포커스가 사라지고 더 이상 작동하지 않습니다. 누구든지 나를 도울 수 있습니까?
미리 감사
Marty 님, 고맙습니다! =) –