Java 2D游戏-计时器与线程?
嘿,伙计们,我正在制作我的第一个2D Java游戏,目前我正在使用计时器来控制和更新一切。我想知道什么方法最适合2D Java游戏,计时器还是线程?目前,我的gameCanvas类中有一个计时器,可以渲染/绘制所有内容以及检查冲突。我还有一个计时器,用来移动我的球员 我使用计时器的唯一原因是因为我对Java编程还不熟悉,考虑到当时我所要说的,这似乎是最简单的方法:Java 2D游戏-计时器与线程?,java,multithreading,timer,Java,Multithreading,Timer,嘿,伙计们,我正在制作我的第一个2D Java游戏,目前我正在使用计时器来控制和更新一切。我想知道什么方法最适合2D Java游戏,计时器还是线程?目前,我的gameCanvas类中有一个计时器,可以渲染/绘制所有内容以及检查冲突。我还有一个计时器,用来移动我的球员 我使用计时器的唯一原因是因为我对Java编程还不熟悉,考虑到当时我所要说的,这似乎是最简单的方法: Timer timer = new Timer(5,this); timer.start(); 你们推荐什么?这取决于游戏类型 对
Timer timer = new Timer(5,this);
timer.start();
你们推荐什么?这取决于游戏类型 对于“快速游戏”(例如射击游戏),具有屈服/等待(视情况而定)的专用游戏循环(可能在线程中)通常最有效。对于“慢游戏”来说,计时器可以正常工作——但是,有两种类型的计时器:
快乐编码。这取决于游戏类型 对于“快速游戏”(例如射击游戏),具有屈服/等待(视情况而定)的专用游戏循环(可能在线程中)通常最有效。对于“慢游戏”来说,计时器可以正常工作——但是,有两种类型的计时器:
愉快的编码。pst关于这两种方法的优缺点所说的绝对正确 不过,我也不推荐。我会使用一个“专为游戏而设计”的游戏引擎,例如,它将极大地帮助你在游戏中更新和逻辑,主游戏循环的结构,以及处理你将遇到的许多低级问题 如果你考虑在游戏中使用Swing,我也会远离它,原因如下 预构建用于处理计时问题,并计算渲染帧之间的增量等。您还可以获得许多不需要自己构建的好东西,例如输入处理(键盘、鼠标、控制器)、加速图形(您的游戏将自动受益于图形加速,因为引擎会为您解决这一问题),当您准备好播放音频时,它还有一个很棒的音频库
你自己写这些东西会让你想哭。除非你真的想构建引擎本身(而不是花时间构建游戏逻辑本身),当您可以使用现成的成熟工具时,构建引擎需要花费大量时间。pst关于这两种方法的优缺点的说法绝对正确 不过,我也不推荐。我会使用“专为游戏设计”的游戏引擎,例如,它将极大地帮助您了解游戏中的更新和逻辑、主游戏循环的结构,以及处理您将遇到的许多低级问题 如果你考虑在游戏中使用Swing,我也会远离它,原因如下 预构建用于处理计时问题,并计算渲染帧之间的增量等。您还可以获得许多不需要自己构建的好东西,例如输入处理(键盘、鼠标、控制器)、加速图形(您的游戏将自动受益于图形加速,因为引擎会为您解决这一问题),当您准备好播放音频时,它还有一个很棒的音频库
你自己写这些东西会让你想哭。除非你真的想构建引擎本身(而不是花时间构建游戏逻辑本身),当你可以使用现成的成熟工具时,构建引擎需要花费大量时间。谢谢,现在我的游戏是简单的2D迷宫拼图。你认为什么是最好的解决方案?@pst+1请不要复杂(所以不能触摸Swing/AWT)和必需的javax.swing.Action…谢谢,现在我的游戏是简单的2D迷宫游戏。你认为什么是最好的解决方案?@pst+1没有什么复杂的,请(所以不能触摸swing/AWT)和必需的javax.swing.Action…从头开始写它很有趣!我说!;-)+1:)它肯定可以。我刚刚了解到,我更喜欢把时间花在游戏上,而不是工具上。这绝对是一个好主意