Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java游戏编程与线程_Java_Multithreading_Swing - Fatal编程技术网

Java游戏编程与线程

Java游戏编程与线程,java,multithreading,swing,Java,Multithreading,Swing,我想知道用Swing开发Java游戏的更好方法是什么 这是一个拍摄他们,现在所有的东西都在使用线程。 例如:所有爆炸使用线程,所有射击使用线程,所有敌人使用线程,所有射击敌人使用线程 所以到目前为止,我没有使用主游戏循环来显示元素,也没有使用数学来移动元素 这将是一个更好的方式使用线程只用于爆炸,并使用一个连续的方法来拍摄,埃内米 我不太清楚我的问题 谢谢在大多数游戏中,最好只使用单线程(“除非…”是的,我知道,请参见下文)。精灵似乎都在同时做一些事情,这一事实让每个新游戏程序员都认为他们都需要

我想知道用Swing开发Java游戏的更好方法是什么

这是一个拍摄他们,现在所有的东西都在使用线程。 例如:所有爆炸使用线程,所有射击使用线程,所有敌人使用线程,所有射击敌人使用线程

所以到目前为止,我没有使用主游戏循环来显示元素,也没有使用数学来移动元素

这将是一个更好的方式使用线程只用于爆炸,并使用一个连续的方法来拍摄,埃内米

我不太清楚我的问题


谢谢

在大多数游戏中,最好只使用单线程(“除非…”是的,我知道,请参见下文)。精灵似乎都在同时做一些事情,这一事实让每个新游戏程序员都认为他们都需要线程,但这只是一种错觉

在该线程中,您依次通过一个称为“游戏循环”的循环:

  • 获取输入

  • 更新游戏对象

  • 更新视图


例外情况:(不适用于初学者。初学者甚至不应该麻烦)很久以后,当你的游戏完成并运行时,你可能会意识到,当加载额外的游戏数据时,你可能需要另一个线程来预取数据,你可以添加该线程,提前添加它是邪恶的早期优化。

所有更新都在EDT中,我认为这不是长时间运行的任务。我认为任务只在几秒钟内完成。几秒钟对于UI来说仍然太长,无法保持无响应。