Unity是否允许您使用Java编写代码?[关闭]


12

我对Unity3D的经验还很陌生,但是我对Java和Android开发非常了解。我真的很困惑,如果开发Android应用程序完全需要Java?我在Unity文档中的某处读到,在Unity中向对象添加行为需要使用脚本,并且unity仅支持C#,.Net和Boo脚本。根本没有使用Java吗?


15
当您了解Java时,您已经知道90%的C#。
菲利普2014年

SilverTiger的答案中提到的jMonkeyEngine现在不仅支持桌面开发,还支持iOS和Android开发。jMonkeyEngine是免费的,并使用Java。我用它来创建游戏。
杰森·克罗斯比

@Philipp和C#有什么关系?我已经知道C#了,就像我知道90%的Java一样?
阿西夫·穆斯塔克

@Philipp好吧,不。您也可以说“当您知道ALGOL时,您已经知道C的90%”或“当您知道x86汇编器时,您已经知道任何汇编器的90%”,或者“当您知道如何驾驶自行车时,您已经知道如何驾驶卡车” ......你的比喻是错误的这么多层次感叹。您唯一可以说的是“当您知道Java时,您已经知道C#语法的90%”。我向您保证,我不知道只有Java并且没有文档访问权限,而这些文档无需事先经验就能编写有效的C#代码。

4
我投票结束这个问题是因为题外,因为这与产品X是否支持功能Y有关
Vaillancourt

Answers:


11

Unity不支持Java。但是,您应该签出C#。这是一种非常相似的语言,可以从Java中获得很大的影响,同时可以说消除了该语言的一些粗糙之处。还应注意,您将需要Unity Pro和Unity Android Pro才能使用Unity创建Android游戏。正如评论中提到的jhocking和ashes999一样,您不需要Unity Pro和Unity Android Pro在Android上发布的商业Unity游戏。


3
您并非完全需要Android Pro才能创建Android游戏。您可以从免费版本的Unity部署到Android,但对生成的应用程序会有一些限制(最明显的是,它将具有Unity初始屏幕,而不是您自己的自定义初始屏幕)。如果您想要Android Pro的其他功能,必须同时使用Unity Pro和Unity Android Pro。
飞速

您将能够以商业方式出售该应用程序吗?
鹰眼2014年

3
@ Eagle-Eye是的,我相信你会的。Unity免费版适用于年收入低于10万美元的企业。
ashes999 2014年

它非常相似,但是冗长得多,并且缺少成千上万个使Java编程变得容易的库。例如,ProGuard有人吗?可以跑吗 SocketIO ..列表还在继续
Oliver Dixon

4

团结仅支持C#JavaScriptBooScript为脚本。但是,正如Philipp所提到的,如果您知道Java,那么您知道90%的C#。我仍然只知道Java和C ++,并且对我来说,将逻辑转换为C#更为容易(考虑到即使在Unity中编码了一年,我对C#的了解也不多)。

但是,您可以使用Java编写用于Unity未提供的任何本机功能的插件,或实施某些第三方SDK(例如专门为Android平台制作的广告)。iOS平台的Objective-C也是如此。


1)Unity一段时间不支持Boo; 2)实际上是Unity使用的是UnityScript,而不是JavaScript; 3)UnityScript也已弃用。因此,这个答案现在有点过时了。

2

实际上,您可以将交叉编译的Java(即Java源代码编译为托管的.NET代码)与Unity3D一起使用-它有一些警告和问题,但至少在概念验证的水平上,这是绝对可能的。这也不必通过插件系统完成,因为IKVM自动生成托管代码,并且托管库可以直接附加:

http://answers.unity3d.com/questions/15308/can-i-access-java-code-from-unity.html

http://www.mono-project.com/docs/about-mono/languages/java/

是的,其他两个答案实际上是错误的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.