2013-04-26 2 views
0

Я хотел сделать меню, когда его там не было, нажмите Esc , чтобы открыть его, когда он был там, нажмите Esc , чтобы закрыть его. но это не будет работать, он показывает эту ошибку:AS3 вкл/выкл меню не будет работать

1176: Сравнение значения со статическим типом flash.text:TextField и возможно несвязанного типа String.

Это мой код

stage.addEventListener(KeyboardEvent.KEY_DOWN, down); 
function down(keyEvent:KeyboardEvent):void 
{ 
    var keyPressed:String = ""; 
    keyPressed = keyEvent.keyCode.toString(); 
    if (keyPressed == "27") 
    { 
     if (now == "0") 
     { 
      menu._x = 100; 
      now.text = "1"; 
     } 
     else if (now == "1") 
     { 
      menu._x = -400; 
      now.text = "0"; 
     } 
    } 
} 

ответ

3

Если now является TextField вам нужно сравнить его свойство text

stage.addEventListener(KeyboardEvent.KEY_DOWN, down); 
function down(keyEvent:KeyboardEvent):void 
{ 
    if (keyEvent.keyCode == Keyboard.ESCAPE) 
    { 
     if (now.text == "0") 
     { 
      menu._x = 100; 
      now.text = "1"; 
     } 
     else if (now.text == "1") 
     { 
      menu._x = -400; 
      now.text = "0"; 
     } 
    } 
} 

Вы также можете установить visible в false/true, чтобы скрыть показать меню вместо перемещения со сцены. Я также изменил keyCode, чтобы использовать класс Keyboard.

+0

спасибо, он работает, и я перемещаю его, потому что у него есть кнопка – wuiyang

Смежные вопросы