gpt4 book ai didi

java - 在不重绘的情况下在 JFrame 上移动图像()

转载 作者:行者123 更新时间:2023-11-29 10:06:20 24 4
gpt4 key购买 nike

我正在尝试构建一个 2d 游戏。

我有一个静态的背景图像和一个角色图像。当我按下一个移动键 (WASD) 时,Mainclass(是 keylistener)在一个名为 Player 的类中调用一个函数该函数正在改变角色的位置(图像)。在调用此函数后,我使用 repaint() 在新位置重新绘制角色。如果我删除背景,我可以看到其他位置仍然留下的旧图像。所以这意味着我必须为每一步重新绘制播放器和背景。

可能有更好的解决方案?最坏情况:这是一个在线游戏,有很多玩家四处走动,每 100 毫秒调用一次重绘以更新每个玩家的位置。我有一种感觉,这会耗尽玩家计算机的所有内存,或者至少游戏感觉不会那么好

最佳答案

不要直接在 JFrame 内容 Pane 中绘制。相反,覆盖 JComponent 中的 paintComponent()。这AnimationTest绘制到 JPanel 中,默认情况下是双缓冲的。该示例还展示了一种检查用于绘画的时间预算的方法。

关于java - 在不重绘的情况下在 JFrame 上移动图像(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7115497/

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