gpt4 book ai didi

java - 当我更改 boolean 值时,KeyListener 没有监听

转载 作者:行者123 更新时间:2023-11-29 08:13:41 25 4
gpt4 key购买 nike

好的,我正在制作一个小型乒乓球游戏,并且我正在为它制作一个开始菜单。就像,你启动游戏,得到一个菜单,你点击播放,然后游戏开始,现在,除了一件事之外,一切都完全按照我想要的方式进行。当我点击按钮时,一切都被绘制出来,球开始移动,一切都正确更新,但是,我不能再移动我的球员了。就像 KeyListener 停止工作一样,我的程序突然停止对按键使用react。我会给你们我所有的游戏源代码,因为我很困惑,我不知道是什么原因造成的,也不知道如何修复它。当您按下按钮时,我的菜单通过更改 boolean 值来工作,当 boolean 值为假时,绘制开始菜单,当它为真时,绘制游戏。对了,代码比较多,我就上传到pastebin吧。

PongWindow.java(包括主程序)http://pastebin.com/S5CpWW5Q

PongDrawing.java(包括绘图、移动、keylisteners、主游戏循环等)http://pastebin.com/x2LxkkbP

PongPlayer.java(播放器)http://pastebin.com/N8VWTL0P

PongBall.java(球)http://pastebin.com/temGc2Yg

如果你们能弄清楚为什么它不再听我的键,请告诉我,我不知道。

最佳答案

It's like the KeyListener has stopped working,

按键事件只传递给有焦点的组件。如果您点击一个按钮,那么您的游戏面板将不再具有焦点。你需要使用类似的东西:

gamePanel.requestFocusInWindow();

在您的 ActionListener 代码中。

然而,正确的做法是忘记使用 KeyListener,而是使用 Key Bindings .

关于java - 当我更改 boolean 值时,KeyListener 没有监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6228179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com