2016-08-29 2 views
-2

Я работаю над игрой (репо here), и у меня возникает проблема: когда игра переключается на GamePanel, клавиатура перестает работать.Java `KeyListener` не работает

GamePanel.java правильно позвонить GUI#registerSpriteManager, но действия клавиатуры не записываются SpriteManager.

GamePanel.java В

public GamePanel(GUI gui) { 
    this.gui = gui; 
    this.back = new Background(this); 

    this.manager = new SpriteManager(); 
    this.manager.add(new Roflcopter(
     GUI.WIDTH/2, 
     GUI.HEIGHT/2 
    )); 
    gui.regiterSpriteManager(this.manager); 

    this.level = new Level1(this.manager); 
} 

В GUI.java

public void regiterSpriteManager(SpriteManager manager) { 
    this.manager = manager; 
    this.addKeyListener(manager); 
} 

Почему это не работает?

+1

Пожалуйста, включите соответствующие части кода здесь, в этом вопросе, а не ссылаться на него в хранилище. – hotzst

+1

Пожалуйста, разместите соответствующий исходный код, пожалуйста, прочитайте http://stackoverflow.com/questions/how-to-ask – thst

+0

@thst. Они разместили ссылку на репозиторий github. Все исходные коды, о которых вы могли мечтать, есть. – byxor

ответ

2

Я исправил проблему путем добавления this.setFocusable(true); в GUI.java

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