2012-02-14 79 views
0

我正在关注下面链接的YouTube视频教程,以构建一个3D Java游戏。Java InputHandler永远不会执行

http://www.youtube.com/user/TH3CHERNO#p/c/0FB6A62E3D328423/12/Ivg8IYYdFyk

12日发作,我们添加一个InputHandler支持重点控制。前12集中的所有内容完全按照预期工作。出于某种原因,我错过了使InputHandler执行的一些内容,因为它被忽略了。按下按键时不会发生任何事情。

该项目目前包括7类,所以你可能不希望我粘贴到这篇文章的所有代码。我不确定要提供哪些内容才能使此问题轻松排除。

我的问题:什么是逻辑起点,以确定我错过了什么?

该代码看起来与演示者的代码完全相同。有些东西明显不同,但我不知道在哪里寻找解决方法。

感谢您的协助。

回答

1

我想你错过了实际添加你的InputHandler实例作为你的组件的监听器。

addKeyListener(inputHandler),addMouseListener(inputHandler)等等。

+0

感谢您的快速回复。我在构造函数中有以下代码。这是错的吗? \t \t input = new InputHandler(); \t \t addKeyListener(input); \t \t addFocusListener(input); \t \t addMouseListener(input); \t \t addMouseMotionListener(input); – alockrem 2012-02-14 01:18:33

+0

@alockrem如果你指的是你的主要组件的构造函数,那么这似乎是正确的。尝试添加一个'System.out.println(“Listener Works!”)'或者一个类似于'InputHandler'方法的东西,然后尝试关闭它。 – Acidic 2012-02-14 02:01:10

+0

再次感谢您的快速回复。我在keyPressed事件中有类似的东西,它永远不会执行。主Component被称为Display,我之前添加的逻辑位于公共Display()构造函数中。 – alockrem 2012-02-14 02:08:28