用java写小游戏 怎么移动物体更灵敏

fairytalezyy 2010-12-11 02:12:42
用java写了个小游戏
比如说是一个tank的小游戏
可以让tank移动 ,但是怎么让tank的移动更加的灵敏 就和那些商业版的游戏一样
不然用public void keyPressed(KeyEvent e) {}方法写出来的效果总是很别扭的样子

让物体移动有什么技巧 使用

请高手指点
...全文
258 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeehlin 2011-06-12
  • 打赏
  • 举报
回复
我也想请教这个问题,就是当坦克刚开始移动,也就是第一次按下时,坦克不能立即移动(虽然移动了一下),只有按住一段时间过后才能流畅的移动,第一次响应与第二次响应的时间间隔太大,貌似启动有点卡
nj_dobetter 2010-12-15
  • 打赏
  • 举报
回复
移动物体更顺畅,可能设计物理学的知识吧,因为key事件只是进入了Event Queue,具体怎么计算物体位移看你设计的计算式了。

如果要避免屏幕闪烁就需使用双缓冲,每秒刷新25帧左右,动态计算CPU的负荷来sleep一段计算出来的时间。
dracularking 2010-12-14
  • 打赏
  • 举报
回复
单从接受键盘输入事件与程序的响应这一环节来说,就是通过keyPressed方法,看看是不是其它方面没有优化造成的,java做小游戏的话,应该无法靠人主观判断性能差异才对。
taoyongming 2010-12-14
  • 打赏
  • 举报
回复
是要让游戏里的物体的移动速度加快吗?
把repaint后线程睡眠的时间减少一点就可以了
比如说原来是
private class PaintThread implements Runnable {

public void run() {
while(true) {
repaint();
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

把sleep(50)改成20那移动的速度就快了1倍多
pywepe 2010-12-14
  • 打赏
  • 举报
回复
检查逻辑有没有问题吗 先
yueguangkai001 2010-12-14
  • 打赏
  • 举报
回复
感觉,如果觉得太慢就用线程去控制
如果没做好,只能够说明控制的不合理,
我用java搞视频的回放,数据量非常大,也没觉得慢,觉得很流畅
assdust110 2010-12-13
  • 打赏
  • 举报
回复
这个没办法的。。。java的桌面级应用就是一个杯具。。。所有的空间都是重绘。。。你的,明白?
其实最好的办法就是把动的和不动的分开,比如说背景不动,上面的坦克动,但是用java典型不可能。。。
神州 2010-12-13
  • 打赏
  • 举报
回复
look
fairytalezyy 2010-12-12
  • 打赏
  • 举报
回复
哎 没办法 我只好给了物体自己一个线程 让它自己跑起来 就和吃豆子一样 这样比之前的移动要一些了
如一宝宝 2010-12-11
  • 打赏
  • 举报
回复
我也在为这个问题烦恼啊

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧