我正在寻找用Java创建游戏,并希望它可以在Windows,Linux和Mac上运行。我很确定C#是一个不好的选择,并且我没有足够的C或C ++经验。我想远离Flash。因此,Java对我来说是一个不错的选择吗?通常,我使用C#,并认为Java是相似的,因此我认为学习起来并不难。但是足够快吗?有没有比Java更适合我需要的语言?
我正在寻找用Java创建游戏,并希望它可以在Windows,Linux和Mac上运行。我很确定C#是一个不好的选择,并且我没有足够的C或C ++经验。我想远离Flash。因此,Java对我来说是一个不错的选择吗?通常,我使用C#,并认为Java是相似的,因此我认为学习起来并不难。但是足够快吗?有没有比Java更适合我需要的语言?
Answers:
Java非常适合编写跨平台游戏。主要优点:
您必须要做出的主要决定是要使用哪种GUI框架。有很多不同的选项,但最突出的是:
Java游戏的主要缺点实际上是围绕“边缘情况”,这些情况可能不会影响您,但与某些类型的游戏有关:
请注意,还有一些部署选项要考虑:
最后,还值得考虑其他一些JVM语言-它们具有上面列出的Java平台的所有优点,但有些人认为它们是比Java本身更好的语言。Scala,Clojure和Groovy将是最著名的,它们都可以利用上面列出的Java工具和库。
Minecraft和Matter都是Java内置的,是的,它对于制作游戏非常有用。如果您选择使用Java编写本机应用程序,那么在使用Java时会遇到的主要问题是移植到移动平台。Android是一种带有独立库的怪异的Java SE。RIM的Blackberry使用Java ME。从理论上讲,iOS可使用Java进行编程,尽管Objective-C可能是该平台的更好选择。
Java与C#非常相似。尽管仅懂Java,但我经常发现C#代码是可以理解的。它们确实具有不同的设计理念,但就其可广泛部署和最小的麻烦而言,两者都符合要求。尽管您的移动部署将变得更加困难,并且要部署到非Windows平台上将更加耗时或困难,但C#并不是游戏的一个糟糕选择,具体取决于您最终使用的是哪种特定的外部库等等。
最明显,阻力最小的方法是使用HTML5 + javascript组合。使用此工具制作的任何应用程序或游戏都将在几乎所有设备和浏览器上运行。
优点:-您将需要零配置以使您的游戏在各种平台和设备上运行。
注意:-我很少看到使用上述技术构建的游戏,但是它们的身材却较小。但是,我想如果能用牛奶制成黄油,那么奶酪就不是不可能
简短的回答:不。
Java不会像C#(CLI)那样生成二进制可执行文件,而只会生成字节码,对于“开放式环境”中的严肃业务而言,这不是一件好事,主要有两个原因:
当然,每种语言都有自己的库,但是由于每种语言都有大量的库,所以这并不是一个真正的问题,我认为这不是本主题的目的。
也许在专业水平上,您会发现一些违反规则的东西,例如dev-Kit,它可以将所有C#语句转换为现实世界机器的汇编代码,但是如果这种方法不在您的实际应用中,当您打算在开放环境中销售产品时,仅考虑C和C ++进行开发。
对于移动设备而言,情况有所不同,因为它们是“封闭环境”,即使Android通常是封闭的,也考虑到现实世界中ROM的来源通常不向公众开放的事实,Android可能被认为是开源的,但99实际设备上的ROM的百分比不是。在这种情况下,您不能过分争论,已经为您设置了所有内容,每个平台都有自己的语言,众所周知。
最后,如果您打算在开放的环境中销售该产品,我只能建议可以生成编译代码和二进制/汇编代码的语言,在封闭的环境中,由于不同的原因,该决定通常更容易实现。