請問android上的軟體是用java語言開發的,遊戲引擎用unity 3D,語言是C#怎麼做軟體?智造時代imtime2020-08-31 16:06:04

android底層不是用Java開發的。安卓核心是Linux系統,Linux系統是用c語言開發的。只是在安卓上跑了一個JVM (Java虛擬機器), Jvm提供一個標準的介面來供上層應用呼叫。Java虛擬機器上的應用程式原則上來說,用任何程式語言來開發都可以,比如Java c# kotlin,go等,只是說用Java開發起來最順手而已。

請問android上的軟體是用java語言開發的,遊戲引擎用unity 3D,語言是C#怎麼做軟體?犍為真人2020-08-31 00:44:36

你可以這樣理解,unity是一個播放器,英文叫player——game player。遊戲是執行在播放器之上的。

在unity中,我們更傾向於C#是一種指令碼語言。這種指令碼是執行在播放器這個宿主之上的。這就類似與JavaScript運行於瀏覽器之上。JavaScript離開了瀏覽器是不能執行的。

(這裡不包括特殊情況比如node。js,windows宿主js等)

所謂指令碼,就是不編譯成本地機器程式碼(包括java位元組碼、彙編等),而是由宿主直接負責解釋,即遊戲播放器負責解釋,這就讓C#與安卓系統很少發生關係。

如果理解不了什麼是播放器,就想想音樂播放器、影片播放器,更加貼切的是早年的flash播放器。flash播放器是可以播放遊戲的。滑鼠、鍵盤操作,指令碼,都是在和播放器打交道。

這個unity播放器,既可以運行於windows,也可以運行於安卓、iOS、瀏覽器。unity遊戲,如何與安卓系統互動,這是unity負責的事。C#只負責透過指令碼形式執行遊戲邏輯。

注:上面的討論只是一種簡化,實際過程比這複雜,比如雖說是C#指令碼但還是要涉及一些編譯工作,還有打包、壓縮工作。

請問android上的軟體是用java語言開發的,遊戲引擎用unity 3D,語言是C#怎麼做軟體?蘇的蘇2020-08-30 23:54:04

u3d以前支援javasctipt語言,現在不知道支不支援了

請問android上的軟體是用java語言開發的,遊戲引擎用unity 3D,語言是C#怎麼做軟體?kakacy2020-08-31 10:46:54

此時的c#是在unity這個遊戲引擎提供的沙盒環境裡執行,不直接呼叫安卓系統資源。

請問android上的軟體是用java語言開發的,遊戲引擎用unity 3D,語言是C#怎麼做軟體?奔放的小金2020-08-30 23:19:54

C#可以做各種網站系統,可以做安卓和iOS半原生應用,可以做Unity3D遊戲,可以做Windows服務和桌面應用,可以做Linux服務和桌面應用,可以做MacOS服務和桌面應用。你能想到的它都可以做,只是它要錢,而且還不便宜