我正在制作一个简单的游戏(我第一次使用键盘阅读器)并使用WASD输入来移动角色。我想这样做,如果你同时按下W和A,你就会对角线。有谁知道怎么做?
答案 0 :(得分:1)
不要使用KeyListener。 Swing旨在与Key Bindings
一起使用。
无论哪种方式,您都无法同时收听多个键,因此您需要跟踪已按下的键。由于你想做动画,你通常会使用Swing Timer来安排动画。然后,每次定时器触发时,检查按下了哪些键,并根据按下的键移动角色。
查看Motion Using The Keyboard中的KeyboardAnimation.java
源代码,了解演示此方法的示例。本文还说明了为什么键绑定比KeyListener更受欢迎的原因。