Java游戏看起来运行很慢?
我正在制作一个涉及使用同一个类的多个“球”的游戏,我让一切都按照我希望的方式使用 ArrayList 工作,但我的问题是我添加的球越多,渲染它们的速度就越慢。这使得游戏看起来速度很慢并且会闪烁,抱歉,我无法提供视频,但我可以提供我正在使用的绘制球的代码:
代码:
for(int i=0;i<balls.size(); i++){
Ball tmp = (Ball) balls.get(i);
g2d.drawImage(tmp.getImage(), tmp.getX(),tmp.getY(),null);
}
您能给我一个更好的示例或方向吗渲染球的方法?
谢谢。
I'm making a game which involves multiple "balls" using the same class, I have everything working the way I want it to using a ArrayList but my problem is that the more of the balls I add the slower it renders them. This makes the game look like it is going slow and it will flicker, I can't provide a video sorry, but I can provide the code I am using the draw the balls:
code:
for(int i=0;i<balls.size(); i++){
Ball tmp = (Ball) balls.get(i);
g2d.drawImage(tmp.getImage(), tmp.getX(),tmp.getY(),null);
}
Could you give me examples or direction for a better way to render the balls?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于闪烁,您需要了解双缓冲 。如果由于非双缓冲而导致速度缓慢,那么您将必须对其进行分析,或者可能会显示更多代码。
For the flickering, you'll want to learn about double buffering. If the slowness is something aside from perception due to not double buffering, you'll have to profile it or maybe show some more code.
我不确定速度影响(可能不多),但您应该在使用 ArrayList(即 ArrayList)时指定类型,而不是在获得所有内容时对其进行类型转换。
I'm not sure of the speed ramifications (probably not much), but you should be specifying a type when using an ArrayList (i.e ArrayList<Ball>) instead of typecasting everything as you get it.