u3d安卓游戲開發什麼語言
⑴ 游戲開發需要用哪些編程語言,java或者C可以開發游戲不
游戲需要運行到不同的平台上,所以平台也在一定程度上影響游戲開發使用的語言。目前我們熟知的平台主要分為兩大類:PC端和移動端。
PC端:使用的編程語言大部分是我們熟知的C/C++,因為我們使用的操作系統如window,mac的底層是C,而使用C/C++可以極大的發揮性能上的優勢;
移動端:又可以分為IOS與Android兩個方向來說。Android上面的游戲以Java開發居多,大概是因為安卓系統本身就是以Java開發為主的;IOS上面的游戲以object c開發居多,也主要是因為系統本身的因素;
但因為一款游戲要部署到各個平台的成本太高了,所以現在主流的技術是使用跨平台的游戲引擎開發,然後發布到不同的平台。因此現在選擇語言主要看主流的游戲引擎使用哪些語言。主流的游戲引擎有:unity,cocos,unreal等。其中,unity是以C#語言為主;cocos有C++、lua、js等開發語言;unreal也主要是以C++為主。
事實上,大部分高水準的游戲是以C++結合lua來開發的。C++負責處理高性能的部分,lua處理邏輯部分來加快開發速度。即使是使用unity引擎,大部分產商也會選擇C#結合lua的方式來開發,C#負責核心部分,lua處理邏輯部分。
以王者榮耀為例,王者榮耀團隊的相關文章中有明確提到,客戶端,也就是手機上的的APP是用的Unity3D游戲引擎。具體的開發語言以C#為主。至於王者榮耀的後端編程語言,基本可以確定是C++,C++到現在都是騰訊公司的核心技術棧,並且游戲領域,使用java/php 等語言很難達到游戲對性能的要求,編程難度較大。
如果是想要選擇一門語言學習,那麼需要考慮自己未來的發展方向,是想做大項目還是做小項目。網游之類的大項目,目前推薦C++和lua。如果是微信裡面的小游戲之類的小項目,推薦的是js或typescript。
⑵ 游戲開發需要學什麼編程語言
游戲編程也是編程,都是需要敲代碼的。所以基本的語言基本功是不能少的,比如C語言或者C++或者C#至少要精通其中一門。精通到什麼地步呢,基本數據結構和基礎的演算法還有設計模式你得非常熟悉。這樣算是入門了。
接下來你就可以選擇一個游戲引擎了,市面上主流的游戲引擎有兩種一個Unity3D一個虛幻四。但是這兩款引擎的腳本語言並不一樣,Unity是C#虛幻四是C++所以在學習之前要想好使用引擎開發什麼類型的游戲。
主要學的內容如下:
1.游戲程序設計:C++程序設計入門;基本數據類型和輸入輸出;流程式控制制語句;數組、指針和引用、函數;程序結構和書寫規;范結構體和聯合體、類;繼承與多態;異常處理與程序調試。
2.演算法與數據結構:演算法分析;數據結構;基本演算法;STL的概念與使用;靜態庫與動態庫;XML庫的使用。
3.Win32程序設計:Windows程序入門;Windows消息;GDI繪圖游戲工具與MFC;網路編程基礎。
4.游戲數學和智能應用:游戲中的坐標系;矢量、矩陣;幾何碰撞;物理模擬;人工智慧與尋路演算法。
5.2D游戲技術與應用:2D游戲技術概論;游戲地圖系統;GUI系統;戰斗系統設計;任務系統;優秀的聲音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
⑶ 游戲一般用什麼編程語言開發
一般的大型游戲開發不是單一用某一種軟體語言的問題。一個大型游戲的開發需要非常大的團隊用各種各樣的語言和工具來完成。
總結一下主要有C/C++,匯編語言,著色器語言,腳本語言,高效的開發語言C#或Java。
首先一般的游戲開發架構(Windows平台)從底到頂一般是Direct X™——游戲引擎——游戲。
大型游戲開發的大部分工作其實都是在編寫游戲腳本,腳本是大型游戲得以如此高速開發和發布的主要原因。腳本化的開發讓游戲開發擺脫了硬編碼的種種弊端,讓游戲內容可以輕易的修改和調試。比如比較流行的語言。,然後編寫腳本將其組織成一個游戲,不需要什麼底層的編程語言。
Windows平台比較流行的方法是使用最新版本的Visual Studio,顯卡廠商如NVIDIA也會為VS開發一些插件來簡化顯卡編程和調試。(3)u3d安卓游戲開發什麼語言擴展閱讀:
匯編語言
為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號「+」的機器代碼),於是就產生了匯編語言。所以說,匯編語言是一種用助記符表示的仍然面向機器的計算機語言。匯編語言亦稱符號語言。
匯編語言由於是採用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼。而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
匯編語言中由於使用了助記符號,用匯編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執行,必須通過預先放入計算機的 「匯編程序「的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。
用匯編語言等非機器語言書寫好的符號程序稱源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。
匯編語言像機器指令一樣,是硬體操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。匯編語言是低級語言。但是,匯編語言用來編制系統軟體和過程式控制制軟體,其目標程序佔用內存空間少,運行速度快,有著高級語言不可替代的用途。
高級語言
不論是機器語言還是匯編語言都是面向硬體的具體操作的,語言對機器的過分依賴,要求使用者必須對硬體結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對於計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。
這種與自然語言相近並為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。
如今被廣泛使用的高級語言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。這些語言都是屬於系統軟體。
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過「翻譯程序」翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種「翻譯」通常有兩種方式,即編譯方式和解釋方式。
編譯方式是:事先編好一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶由高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是:源程序進入計算機時,解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。
PASCAL、 FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。每一種高級(程序設計)語言,都有自己人為規定的專用符號、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬體功能相分離(徹底脫離了具體的指令系統),便於廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便於移植
⑷ unity開發游戲學什麼語言
通常是C#和JS兩種語言。在程序員的工作過程中,開發工具是最為常見的,由於不同的編程語言所使用的開發工具不同,所以也需要不同的開發環境。那麼開發工具unity3D用什麼語言好?來看下詳細介紹。
JS是一個腳本語言,全稱是JavaScript,請注意它不是Java,這兩者不是同一個東西,注意不要弄混!目前運用JS最多的方面就是前端開發,通過JS可以做一些交互,舉例來說最為簡單就是用js實現滑鼠點擊事件。
C#是微軟公司的開發的,我最早接觸net開發採用的語言就是C#,支持C#開發的最廣泛的軟體就是VS(Microsoft Visual Studio,安裝包很大),個人的看法:C#在語言邏輯、安全等方面比JS更具有限。
之所以unity開發有意通常使用C#,是因為C#在網路開發方面成績很優秀。選擇Mono這個基於C#的開源框架,Mono是一個由Novell公司(先前是Ximian)主持的項目。C#是Microsoft推出的.NET語言,只能在.NET平台上運行,例如Win9x、ME、NT、2000、XP和WinCE之類的操作系統。但是MONO是把.NET及其編程語言移植到非Windows的平台上。現在,C#是唯一被移植到非Windows平台的.NET語言。
⑸ unity3D用什麼語言開發好
很有意思的問題.
來看看網路大拿們所做的總結.
當然結果需要您自行考慮.
首先,下文摘錄自InfoQ<JSORC#不存在的腳本之爭>
到底C#和Unity3D里的JS誰好呢?
最常見的問題無非是:用js寫的u3d游戲和用c#寫的u3d游戲,到底誰的運行效率高啊?
最常見的回答為非是:肯定是C#啊,因為js是動態的。肯定不如編譯的語言好。
第二常見的問題無非是:用js開發和用c#開發,哪個更快更適合我啊?
第二常見的回答無非是:js適合個人開發,敏捷快速。c#適合公司開發,規范嚴謹。
咱們還是用和剛才討論與javascript的區別時一樣的思路來整理C#和UnityScript的不同,也就是按照先本質,再表現的順序。同時兼顧回答一下上面的兩個問題。
本質求同存異
開篇就說了,UnityScript是和C#同一個層面的語言,也需要經歷從源代碼到CIL中間語言過渡,最終到編譯成原生語言的過程。所以本質上,最終運行的都是從CIL編譯而來的原生機器語言。但的確會有C#比較快的現象,那麼問題出在哪呢?
一個可能但不是唯一的答案就是UnityScript和C#生成CIL中間語言不同。
這一點想想也很簡單,就像上文提到的var的問題,如果使用Object來處理var的問題,則不可避免的是頻繁的裝箱拆箱的操作,這對效率的影響是很大的。
所以的確,C#的速度更快,但原因是UnityScript會涉及到頻繁的裝箱拆箱操作,進而生成的CIL代碼與C#有差異,而並非UnityScript是動態語言且沒有經過編譯。
現實很單純
開發到底是使用C#還是UnityScript呢?如果不考慮運行的效率,僅僅考慮開發時候的感受,小匹夫就談談自己的看法好啦——那就是珍惜時間,遠離UnityScript。
首先有幾個事實我們要清楚:
UnityScript是脫胎於.NET平台的第三方語言Boo的。所謂的第三方語言和C#的區別,就跟自己到底是不是親生的,爹到底是不是隔壁老王是一樣的。差距可能是全方位,立體式的。社區支持,代碼維護,甚至是編譯出來的CIL代碼質量都可能有很大的差距。選擇UnityScript之前,問問自己之前聽說過Boo嗎?別忘了UnityScript和Boo的淵源。
UnityScript和JavaScript除了長得像之外,根本就沒有什麼關系。你在JavaScript里如魚得水,在UnityScript中如果不小心就可能埋下隱患,而一些隱患可能藏得很深。而且UnityScript也是靜態語言,也需要編譯,所以看不出來選擇它作為開發語言為什麼會有人覺得快。
插件的支持。貌似大多數都是C#寫的吧。
好吧,如果上面的3點都不能說動你,那就看看官方的態度好了。
U3D官方團隊基於數據分析做出的一個語言被使用的百分比圖。
由於Boo語言的使用量基本可以忽略,所以從Unity5.0版本開始就會停止對Boo的文檔支持。同時消失的還有從菜單創建Boo腳本的選項「CreateBooScript」。從U3D團隊對Boo的態度,也可以窺見和Boo聯系密切的UnityScript未來的走勢。
同時U3D團隊也會把支持的重心轉移到C#,也就是說文檔和示例以及社區支持的重心都在C#,C#的文檔會是最完善的,C#的代碼實例會是最詳細的,社區內用C#討論的人數會是最多的。
感謝INFOQ提供的原文支持.