Jestem dość nowy w korzystaniu z Unity3D, ale mam bardzo dobrą znajomość programowania Java i Androida. Jestem naprawdę zdezorientowany, że jeśli Java jest w ogóle potrzebna do tworzenia aplikacji na Androida? Czytałem gdzieś w dokumentacji Unity, że dodanie zachowania do obiektów w Unity wymaga użycia skryptów i że jedność obsługuje tylko skrypty C #, .Net i Boo. Czy w ogóle nie ma zastosowania w Javie?
java
unity
unityscript
Aman Grover
źródło
źródło
Odpowiedzi:
Java nie jest obsługiwana przez Unity. Powinieneś jednak sprawdzić C #; jest to bardzo podobny język, który czerpie duży wpływ z Javy, jednocześnie prawdopodobnie wygładzając niektóre z bardziej surowych krawędzi tego języka.
Należy również zauważyć, że będziesz potrzebować zarówno Unity Pro, jak i Unity Android Pro, aby tworzyć gry na Androida za pomocą Unity.Jak zauważają jhocking i ashes999 w komentarzach, nie potrzebujesz komercyjnych gier Unity na urządzenia z systemem Android Unity Pro i Unity Android Pro.źródło
Unity obsługuje tylko
C#
,JavaScript
iBooScript
skryptów. Jednak, jak wspomniano Philipp, jeśli znasz Javę, znasz 90% C #. Nadal znam tylko Javę i C ++ i łatwiej jest mi przetłumaczyć moją logikę na C # (biorąc pod uwagę, że nie wiedziałem wiele o C # nawet po kodowaniu przez rok w Unity).Możesz jednak napisać wtyczki w Javie dla dowolnej funkcji natywnej nie dostarczonej przez Unity lub zaimplementować pakiet SDK innej firmy, taki jak reklamy wykonane specjalnie na platformę Android. To samo dotyczy Objective-C na platformę iOS.
źródło
W rzeczywistości możesz używać skompilowanej między Javą Java (tj. Źródła Java skompilowanego np. Do zarządzanego kodu .NET) z Unity3D - ma pewne zastrzeżenia i problemy, ale jest to zdecydowanie możliwe, przynajmniej na poziomie dowodu koncepcji; to też nie muszą być wykonywane przez system wtyczek, jak IKVM generuje automagicznie kodu zarządzanego i udało libs mogą być mocowane bezpośrednio:
http://answers.unity3d.com/questions/15308/can-i-access-java-code-from-unity.html
http://www.mono-project.com/docs/about-mono/languages/java/
więc tak, pozostałe dwie odpowiedzi są w rzeczywistości błędne.
źródło