未选择 AS3 Keyevent 父级
Posted
技术标签:
【中文标题】未选择 AS3 Keyevent 父级【英文标题】:AS3 Keyevent parent not selected 【发布时间】:2014-08-25 01:56:46 【问题描述】:我在正在制作的游戏的第一帧上有一个按钮,当我点击它时,它会转到第二帧。当游戏到达第二帧时,您可以通过按下键盘上的任何按钮来启动游戏,但每当游戏进入第二帧时,您必须先单击屏幕,然后才能使用箭头键。如何在不点击游戏的情况下使键盘输入工作
这是第一帧的一些代码
var buttoon1:Bitmap = new Bitmap(new button1);
var buttoon2:Bitmap = new Bitmap(new button2);
var buttoon3:Bitmap = new Bitmap(new button3);
var button:MovieClip = new MovieClip();
button.addChild(buttoon1);
button.x = 30;
button.y = 50;
button.width = 246;
button.height = 43;
addChild(button);
button.addEventListener(MouseEvent.CLICK, buttonClicked);
function buttonClicked(e:Event)
gotoAndStop(2);
removeChild(button);
这是第二帧的一些内容
stage.addEventListener(KeyboardEvent.KEY_DOWN, down);
function down(e:KeyboardEvent)
if (speed == 0)
speed = 10;
注意:在我尝试使用键盘之前,我在游戏中点击了按钮(我的意思不是说键盘输入应该在选择另一个窗口时起作用)
【问题讨论】:
你可以尝试手动设置焦点 - 虽然我认为它不会改变任何东西:stage.focus = this
这是在您的 IDE 中进行测试时发生的,还是在任何时候都不管上下文?当您单击按钮时,您的应用程序不应该只是失去焦点...
@LDMediaServices 无论我在哪里运行它都会发生。我看看能不能手动设置,但问题不是应用失去焦点,我猜只是舞台失去焦点
"stage.focus = this" 工作得很好,我想可能是我在删除按钮时选择了按钮,所以下一帧没有选择任何内容,谢谢!
这是一个很好的理论,但奇怪的是我以前从未遇到过这种情况。
【参考方案1】:
由于某种原因,当舞台进入第 2 帧时,舞台上没有任何东西具有焦点(根据评论,可能具有焦点的项目已从显示列表中删除)
您可以通过手动将焦点设置到显示列表上的任何内容来解决此问题
stage.focus = this;
【讨论】:
以上是关于未选择 AS3 Keyevent 父级的主要内容,如果未能解决你的问题,请参考以下文章