Позволяет ли Unity писать код на Java? [закрыто]

11

Я довольно новичок в Unity3D, но я очень хорошо знаю Java и Android. Я действительно сбит с толку, что если Java вообще нужна для разработки приложений для Android? Я где-то читал в документации Unity, что добавление поведения к объектам в Unity требует использования сценариев, и что Unity поддерживает только сценарии C #, .Net и Boo. Нет ли вообще никакого использования Java?

Аман Гровер
источник
15
Когда вы знаете Java, вы уже знаете 90% C #.
Филипп
jMonkeyEngine, как отмечается в ответе SilverTiger, теперь поддерживает разработку для iOS и Android в дополнение к разработке для настольных компьютеров. jMonkeyEngine является бесплатным и использует Java. Я использую это для создания своих игр.
Джейсон Кросби
@ Филипп, а как насчет C #? Я уже знаю C # тогда же, как я знаю 90% Java?
Асиф Муштак
@ Филипп ну, нет. Вы также можете сказать: «Когда вы знаете ALGOL, вы уже знаете 90% C» или «Когда вы знаете ассемблер x86, вы уже знаете 90% любого ассемблера», или «когда вы знаете, как водить велосипед, вы уже Я знаю, как водить грузовик "... Ваша аналогия ошибочна на многих уровнях вздох . Единственное, что вы можете сказать, это то, что «когда вы знаете Java, вы уже знаете 90% синтаксиса C #». Уверяю вас, я не знаю ни одного человека, знающего только Java и не имеющего доступа к документам, который мог бы писать рабочий код C # без предварительного опыта.
4
Я голосую , чтобы закрыть этот вопрос, не по теме , потому что речь идет о продукте X опорах не работает функция Y .
Vaillancourt

Ответы:

10

Java не поддерживается Unity. Вы должны проверить C #, однако; это очень похожий язык, который получает большое влияние от Java, в то же время, возможно, сглаживая некоторые более грубые края языка. Следует также отметить, что вам понадобятся как Unity Pro, так и Unity Android Pro, чтобы создавать игры для Android с использованием Unity. Как отмечают в комментариях jhocking и ashes999, вам не нужны Unity Pro и Unity Android Pro с самыми популярными играми Unity для Android.

Орлиный глаз
источник
3
Это не совсем правда, что вам нужен Android Pro для создания игр для Android. Вы можете выполнить развертывание на Android из бесплатной версии Unity, но у вас будет несколько ограничений на конечное приложение (наиболее очевидно, что оно будет иметь заставку Unity, а не собственную заставку). Если вы хотите дополнительные особенности Android Pro , то вы должны весной и для Unity Pro и Unity Android Pro.
Джокинг
Сможете ли вы продать коммерчески приложение?
Eagle-Eye
3
@ Eagle-Eye, да, я верю, что ты поймешь. Бесплатная версия Unity предназначена для компаний с годовым доходом менее 100 тысяч долларов.
ashes999
Это очень похоже, но ОЧЕНЬ более многословно, и в нем отсутствуют тысячи библиотек, облегчающих программирование на Java. Пример, ProGuard кто-нибудь? Runnable? SocketIO .. список можно продолжить
Оливер Диксон
4

Unity поддерживает только C#, JavaScriptи BooScriptдля сценариев. Однако, как отметил Филипп, если вы знаете Java, то знаете 90% C #. Я до сих пор знаю только Java и C ++, и мне легче переводить свою логику в C # (учитывая, что я мало что знал о C # даже после написания кода в Unity в течение года).

Однако вы можете написать плагины в Java для любой встроенной функции, не предоставляемой Unity, или для реализации какого-либо стороннего SDK, такого как реклама, созданная специально для платформы Android. То же самое верно для Objective-C для платформы iOS.

нуб
источник
1) Unity не поддерживает Boo в течение некоторого времени, 2) это был фактически UnityScript, а не JavaScript, который использовался Unity, 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/

так что да, два других ответа на самом деле неверны.


источник