鼠标和键盘事件监视器相互禁用,需要额外的单击才能工作

时间:2013-02-19 09:15:18

标签: actionscript-3 flash mouseevent keyboard-events

好吧,让我们说一下示例情况,在我的代码中,用户将使用

进入房间

stage.addeventlistener(keyboardevent.key_down,enter_house)

function enter_house(event:object)
{
   if(event.keycode == 32)
   {
     stage.removeevenlistener(keyboardevent.key_down, enter_house);
     container.addChild(house_first_room);
   }
}
好吧,现在玩家已进入内部,现在他/她应该可以让我们看看时钟

clock.addeventlistener(mouseevent.click, look_at_clock)

function look_at_clock(event:event)
{
    container.removeChild(house_first_room);
    container.addChild(clock_view);
{
好吧,到目前为止一切,但是这是什么?我不得不双击look_at_clock才能工作?那是什么?好吧,现在用户已经看到了时钟,现在我希望他通过按键进入下一个房间,所以我添加

stage.addeventlistener(keyboardevent.key_down,go_to_nextroom)

function got_to_nextroom(event:object)
{
  if(event.keycode == 32)
  {
    container.removechild(clock_view);
    container.addchild(hourse_second_room);
  }
}

现在,这个keyboardevent听众不会拿起我的按键,除非我点击舞台的空/无按钮部分,好像我还没有把它带到我的屏幕上!为什么是这样?我怎样才能使mouselisteners和keyboardlisteners一起流畅地工作,而没有其他人以某种方式禁用另一个?

(这个代码也只是一个例子,它不会起作用,因为我没有在正确的地方使用大写字母,我知道,这只是事后的例子)

谢谢!

0 个答案:

没有答案