-
1 # 雪瀾滄江
-
2 # 大話Game
啊,不止一次的被問過這個問題。
作為世界上最強大的開源語言之一,Java能做任何事,寫個框架?寫個程式?或者說——做個遊戲?
但首先你得會使用引擎——unity、虛幻,哪怕是寒霜都成,但你得會一個。
然後是最難的部分之一——模型,和貼圖。一般來說,3DSMAX較多的用作遊戲開發,但如果是虛幻,MAYA更方便一些。建好模型,再繪製貼圖,把它扔到引擎裡,第一步就算完成了。
然後,繪製場景——這需要你擁有高超的關卡設計能力,這步通常需要很長時間的學習。
然後你就可以進行程式開發了,使用Java,製作主程式,再在主程式的基礎上,製作條件、精靈,和任務等等。
最後,再用你那高超的UI設計能力,做一個UI,除錯後打包,你的遊戲就算是完成了!
題主加油,等著你的遊戲。
-
3 # 智美人青衫酒醉
I am xiaowutonxue. First and foremost, I would like to express my sincere gratitude to my supervisor, professor Hu Anjiang, for his intellectual guidance, invaluable instructions and comments on my thesis. It is with his valuable assistance that I have finally accomplished this thesis.
我來了。
2.所以我們需要定義swing元件,並在類初始化時初始化這些元件,新增元件。因為後面設計遊戲的時候,我們要確切知道遊戲區的大小,所以這裡設定遊戲區固定大小值。本來想用佈局來更好的管理,但作者對佈局也掌握不夠,所以就先設定固定大小吧。
3.定義我們的遊戲。貪吃蛇遊戲其實就是包含很多細小網格,然後蛇在網格中移動。蛇由一連串的網格組成,為了視覺效果,蛇身用藍色標記,食物用紅色標記,背景白色。如第一張圖片所示。所以,我們需要定義二維陣列,儲存網格資訊,儲存蛇身和食物的位置資訊等。初始化時,還需要新增鍵盤事件控制上下左右移動。
4.豆豆的位置資訊是二維的,所以我簡單定義了一個類用來儲存二維資訊。
在蛇身移動時進一步做吃掉食物、撞牆、撞到自己的處理。這是遊戲的主要邏輯。
7.最後,遊戲結束我們彈出一個對話方塊提示是否儲存遊戲得分。我們製作了排行榜資訊,只保留前10名的遊戲得分。首先定義了一個實現Comparable介面的遊戲得分類,按得分高,時間最早來排序。
8.遊戲結束時儲存得分資訊,看是否進入到排行榜中。而之前在初始化排行榜元件時就會載入遊戲排行榜資訊。
透過儲存和讀取排行榜資訊,我們也熟悉一下檔案讀取操作,還有集合、排序演算法的功能。
9.我是傳播愛與正義的小蕪同學,我的回答結束。
-
4 # 東戈Hder
主要是用Java分支中的J2ME來寫,但是J2ME中需要Java的基礎知識 。
現在有大部分人,都是從零開始學J2ME的,學習J2ME的時候,總是從Java基礎開始學習,而且現在講Java基礎的書籍中都是以J2SE來講基礎,這就給學習造成了一些不必要的麻煩,下面將J2ME中用到的和不需要的Java基礎知識做一個簡單的說明。
J2ME中使用到的Java基礎知識:
1、Java語法基礎:包括基本資料型別、關鍵字、運算子等等
2、面向物件的思想:類和物件的概念,繼承和多型等等。
3、異常處理
4、多執行緒
J2ME中沒有用到的Java基礎知識:
1、JDK中javac和java命令的使用
2、Java基礎中的很多類在J2ME中沒有,或者類中的方法做了大量的精簡。所以建議在J2ME中熟悉類庫。
3、Applet、AWT、Swing這些知識在J2ME中根本使用不到。
簡單說這麼多,希望學J2ME的朋友們能少走一些彎路,不足之處希望大家積極指正和補充
1
相關問題全部
回覆列表
Java可以做3D遊戲,可以做非常酷炫的3D遊戲,效能並不比那些C++的引擎差!而開發效率又要高處好幾個數量級!
為什麼呢?因為遊戲底層的圖形渲染實質上都是OpenGL或者Direct3D,現代遊戲引擎不大可能讓你手動去做圖形運算,複雜的東西都是交給底層的dll/so靜態庫檔案以及GPU執行的,上層程式碼主要做好場景管理和邏輯控制。這也是為什麼Unity3D這個引擎居然可以使用 C# 和 JavaScript 作為它的遊戲指令碼,而從來沒有人說Unity3D引擎的遊戲效能差。
另外,遊戲的畫面,不管3D還是2D遊戲,影響畫面效果的主要因素是遊戲素材,而不是程式語言。3D遊戲又有獨特的著色器語言專門負責圖形特效。什麼HDR、PBR、SSAO、動態模糊、次世代法線貼圖,通通都是靠Shader搞定的,跟你用什麼語言來寫遊戲邏輯沒有半毛錢關係。
反觀 Java 本身的效能,現代程式語言除了 C/C++,真沒有哪個敢在 Java 面前誇自己效能的。而且 Java 有眾多的開源類庫,憑什麼我們不能用 Java來做遊戲呢?
誠然,Unity3D、CryEngine、Unreal這樣的商業引擎不僅僅是個遊戲引擎,它們還有很多成熟的配套工具和資源工廠,這是Java遊戲引擎所不具備的。