本文目錄一覽:
- 1、Java語言能開發遊戲嗎?
- 2、Java遊戲開發要學什麼
- 3、利用 Java Swing 實現遊戲開發
- 4、JAVA能寫遊戲嗎?
- 5、JAVA能寫大型遊戲么?
- 6、遊戲開發跟Java開發,哪個就業前景更好呢?
Java語言能開發遊戲嗎?
Java語言能開發遊戲。
Java什麼東西基本都能開發,不過Java不能直接操作內存,這樣使Java在開發的時候造成很多局限性。但是Java提供了本地方法,可以調用c的類庫。使得功能進一步提升。又由於Java對於垃圾回收機制是自動的,使得遊戲在流暢性上有很大的折扣。所以Java不適合開發大型遊戲(除非自己實現垃圾回收等一些機制),使Java能與c相比使。又因為Java的初衷就不在界面和桌面遊戲上。而在企業開發。因此Java不適合開發大型遊戲,中小型網絡遊戲還行。
Java遊戲開發要學什麼
Java遊戲開發要學什麼?所謂的遊戲開發編程語言其實有很多,基本上任何一種語言都可以作為遊戲服務器的編程語言。這需要根據自己遊戲的類型和要求加以選擇。比如C++,Java,Erlang,go等等。目前我用過的只有C++和Java.但是以Java為主。所以接下來就以自己的經驗,談談以Java為核心的遊戲服務器開發技術體系。
Java目前作為遊戲服務器開發語言已經很是普遍。但是大多數是作為頁游或手游的服務器,而端遊戲一般選擇C++,因為端游對服務器的性能要求相對比較高一些。兩種語言各有利弊。C++效率高,但是掌握度難些。沒有Java易於掌握。而目前對於追求快速上線率的頁游和手游來說,Java成了一個不錯的選擇。
一、Java的技術系統
需要學習的技術:
(1)Java基礎知識
(2)JavaNIO編程
(3)Netty,Mina網絡框架精通一種,其它作為了解。
(4)一種緩存框架:Redis;memcache熟悉使用一個。
(5)SQL語言,用於數據庫:mysql數據庫
(6)springmvc主要用於http協議的服務器
(7)多線程編程,明白線程安全的重要性。
(8)Java並發集合的掌握。
(9)Linux常用的基本命令及shell腳本。
(10)數據庫操作,比如mybatis。
以Java為服務器編程語言來說,掌握Java的基本知識就不必說了,是必不可少的。可以參考《Java編程思想》,《Java核心技術》等書。根據遊戲通信協議的不同,大致有兩種實現方式:Socket和http。先說簡單些的http協議,這個協議已經很成熟的應用到了網站上。而Java語言也可以用於網站開發,所以相當就簡單些。現在有很多開源的服務器軟件,比如:tomcat,resin等。遊戲前端不管是頁游flash,還是手游的Android,IOS都支持http協議,只要把遊戲的邏輯數據按post方法向服務器發出請求即可了。
二、學習流程
當然了,學習這些東西並不是一蹴而就的。需要根據實踐循環漸進,這裡推薦一個學習流程:
(1)對於初學Java的人來說,如果自學能力好些,可以買些書自己練習,而現在又更的多選擇參加Java培訓機構,以快速的掌握Java的知識。
(2)掌握了Java知識之後,要多寫代碼實踐。這個時候可以結合mysql學習SQL語言,掌握數據庫的操作。比如用springmvc寫一個小網站,用mybatis實現網站數據的增,刪,改,查等功能。
(3)完成上步之後,可以在服務器程序和數據庫之間加一個緩存,學習redis或memcache。
(4)把程序部署到linux服務器上,練習linux的基本命令及shell腳
免責聲明:內容來源於公開網絡,若涉及侵權聯繫儘快刪除!
利用 Java Swing 實現遊戲開發
Swing初體驗 對於想學習Swing編程的朋友 我們特地為大家準備了一些小竅門 首先 下載並閱讀代碼是極有必要的 由於這是一篇關於Swing的教程 所以 我們只是儘可能講解一些與Swing有關的內容 與Swing無關的內容一般不會涉及 例如算法部分 其次 受篇幅限制 也不可能在這裡將每部分代碼都寫得完完整整的 所以 大家也需要對照完整代碼來看 最後 為了使大家更容易把精力集中在Swing學習上 我們也將遊戲開發中所需資源放在下載文件中 大家下載後便能夠編譯運行 看到執行結果 (下載遊戲源文件) 頂層容器 什麼是頂層容器?當我們使用Java進行圖形編程的時候 圖在哪裡繪製呢?我們需要一個能夠提供圖形繪製的容器 這個容器就被稱為頂層容器 你也可以把它想像成一個窗口 頂層容器是進行圖形編程的基礎 一切圖形化的東西 都必然包括在頂層容器中 在Swing中 我們有三種可以使用的頂層容器 它們分別是:JFrame:用來設計類似於Windows系統中的窗口形式的應用程序 JDialog:和JFrame類似 只不過JDialog是用來設計對話框 JApplet:用來設計可以在嵌入在網頁中的Java小程序 如果需要使用Swing製作一個窗口類程序 我們的代碼看起來應該是這樣:import javax swing *;public class KyodaiUIextends JFrame {……} 控件 控件是構成應用程序界面的基本元素 按鈕 文本框 進度條等 這些都是控件 控件(這裡我們只討論可視化控件)又可以分為容器控件和非容器控件 從字面意義上來理解 容器控件就是能包含其他控件的特殊控件 例如 Java中的JPanel控件就屬於容器型控件 我們可以在JPanel中放置按鈕 文本框等非容器控件 你甚至可以在JPanel中再放置若干個JPanel控件(值得注意的是 頂層容器也是容器型控件 每一個窗口應用程序中有且只能有一個頂層容器控件 換句話說 頂層容器不能包括在其他的控件中) Java中的容器控件有很多 除剛才提到的JPanel外 還有JTabbedPane JScrollPane等 非容器控件有JButton JLabel JTextField等 如果你需要向某個容器型的控件中添加控件 你可以使用 add(Component p) 方法來實現 如:JPanel panel = new JPanel();JButton button = new JButton();panel add(button); 布局 什麼是布局?布局是Java中用來控制控件排列位置的一種界面管理系統 使用過其他可視化編程開發語言的人在初次接觸Java界面設計時 總會感覺到Java界面設計很彆扭:居然沒有提供所見即所得的設置控件坐標的方法!然而 事實證明 Java本身提供的布局管理系統也一樣能夠出色地完成我們的需要 而且在跨平台時表現得更有優勢 常用的布局有:BorderLayout:將界面分割為上下左右以及中間一塊區域的管理系統 在BorderLayout布局中 最多你只能放 個控件 如果超過 個控件 建議還是選用其他的布局系統吧 GridLayout:GridLayout是將用戶界面切割為棋盤一樣的布局管理系統 如果我們要設計一個類似於Windows中自帶的計算器軟件 GridLayout無疑是最佳選擇 FlowLayout:FlowLayout與上述兩類布局管理系統不太一樣 在FlowLayout中 你不必指定每個控件放在哪 你只需要把控件加入到FlowLayout中 FlowLayout就會根據你添加控件的順序依次放置控件 如果空間不夠 會自動換行 在對這幾個布局管理系統有了基本認識後 我們就一起來進入界面設計吧 在仔細觀察了QQ遊戲中 連連看 的設定後 我們可以發現 整個界面分為三個區 頂部是系統菜單區 佔地面積最大的是用戶遊戲區 另外還有一個用戶交互區 每個區域中都由若干控件組成 這麼多控件 我們從哪開始入手呢?由於容器控件中可以放置其他控件 因此 我們只需要先確定放置的容器控件就可以了 既然已經知道需要使用容器控件的個數 接下來讓我們就進入布局管理系統的選擇 用GridLayout?似乎有點勉強 用FlowLayout?還有更好的選擇嗎?對了 我想你一定想到了是BorderLayout吧 如下圖 所示 動手之前 大家一定要注意的是 界面的設計要先考慮好尺寸 不管是主程序界面的大小還是每個區域的大小 如果沒有設計好合適的尺寸 將來改動起來會十分痛苦 下面便是相應的源程序:import java awt *;import javax swing *;public class KyodaiUI extends JFrame {public KyodaiUI() {this setSize( ); //將窗體的大小設定為 * this setDefaultCloseOperation(JFrame EXIT_ON_CLOSE);this setResizable(false); //窗體不能改變大小this setTitle( 連連看 ); //設置標題JPanel toolBar = new JPanel();toolBar setBackground(Color white);toolBar setPreferredSize(new Dimension( ));JPanel actionPanel = new JPanel(); //新建JPanel型的控件actionPanel setBackground(Color yellow); //設置背景色actionPanel setPreferredSize(new Dimension( )); //設置大小JPanel contentPanel = new JPanel();contentPanel setBackground(Color blue);contentPanel setPreferredSize(new Dimension( ));this getContentPane() add(toolBar BorderLayout NORTH);this getContentPane() add(actionPanel BorderLayout EAST);this getContentPane() add(contentPanel BorderLayout CENTER);}public static void main(String[] args) throws HeadlessException {KyodaiUI kyodaiUI = new KyodaiUI();kyodaiUI show();}}讓我們來看看上面這段程序是如何運行的 首先 extends JFrame表明了這是從JFrame中繼承過來的 JFrame是最基本的頂層容器控件 實際上 在JDK中 以字母J打頭的控件都是Swing控件 然後設置了容器的屬性 其中 setDefaultCloseOperation(JFrame EXIT_ON_CLOSE)是用來告訴Java虛擬機 當用戶點擊窗體右上角的 關閉 按鈕時 關閉該窗口進程 如果不這麼做的話 你會發現雖然你可以點將窗口關閉 然而程序卻沒有退出 在接下來的代碼中 我們為頂層容器添加了三個Panel容器 要注意的是 在AWT中 我們可以直接寫為add(toolBar BorderLayout NORTH) 而在 Swing 中卻一定要寫成getContentPane() add(toolBar BorderLayout NORTH) 否則程序就會出錯 現在大家可以放在編譯運行看看 是不是和我的運行結果一樣(見圖 )? 邊框 雖然我們使用了不同前景色來區別不同的區域 然而卻沒有層次感 加上邊框一定會漂亮許多 在Java中 所有以J打頭的Swing控件都可以使用setBorder方法來為自己設置邊框 邊框有很多種 線型 凸起 凹下 空的 你甚至可以自由組合形成個人風格 所有的Border都必須使用javax swing BorderFactory中提供的靜態方法來創建 比如:Border border = BorderFactory createBevelBorder(BevelBorder LOWERED new Color( ) new Color( ) new Color( ) new Color( ));現在 我們將toolBar setBackground(Color white)改為toolBar setBorder(border) 立體效果是不是已經出現了?實戰??寫上自己的大名現在我們已經有了一個能夠運行的界面了 雖然它什麼也做不了 但是請你別慌 羅馬不是一天建成的 現在讓我們在菜單區提供一個 關於 菜單 用來顯示程序的信息 難道你不想讓別人知道你的大名嗎?Swing本身就提供了現成的按鈕控件JButton 我們只需要創建一個新的按鈕:JButton about = new JButton( 關於 );這個按鈕該怎麼放到菜單區而不是別的地方呢?我們可以加入下面的代碼:toolBar add(about);咦 怎麼點按鈕沒有反應?這是因為你還沒有告訴程序點擊按鈕時要做什麼事情呢 要為按鈕添加事件響應 首先需要使用about addActionListener(this)來告訴程序監聽按鈕按下時的事件 由於ActionListener是一個程序接口 因此 我們在類的申明的地方也得做一點小小的修改:public class KyodaiUI extends JFrame implements ActionListener { }實現ActionListener接口是為了告訴程序我要進行事件處理了 當然 最後我們得添加響應事件的代碼:public void actionPerformed(ActionEvent e) {if (e getSource() == about) {JOptionPane showMessageDialog(this 我的大名 關於 JOptionPane INFORMATION_MESSAGE);return ;}}其中 e getSource() 表示當前觸發事件的控件 由於我們的程序中往往會有多個以上的控件 這些控件都有可能產生事件 所以我們必須使用這個方法來找到產生事情的控件 小結 讓我們一起來回顧一下今天所學的內容:首先我們了解了頂層容器 也知道了控件分為容器控件和非容器控件 同時還知道使用邊框 最後 我們還小小的處理了一下按鈕的事件 學而時習之 不亦說乎 就讓我留點小小的作業 幫助大家鞏固一下今天所學的內容:上面我們添加的按鈕在菜單欄的中間 並不美觀 lishixinzhi/Article/program/Java/hx/201311/25907
JAVA能寫遊戲嗎?
Java可以寫遊戲的,但是一般來說不建議用Java開發遊戲,因為Java這個語言是面向對象的語言對代碼進行了大量的封裝來達到模塊組件可復用的目的,這也導致了它相對於面向過程的C,C++這種更偏向於底層的語言來說運行速度是偏慢的,Java更偏向於做服務端方面的工作,做電商網站,公司企業級的後台系統,因為Java語言的特點使其開發的系統具有較高的穩定性和安全性以及最重要的可維護性。
JAVA能寫大型遊戲么?
java能寫大型遊戲么。
首先,這個答案是肯定的,java也能開發大型的桌面端遊戲,比如非常出名的沙盒遊戲:我的世界。就是使用java語言開發的。
其次,Android就是java開發的,Android環境下有多少遊戲就不需要我一一細數了吧。
再次,桌面端的遊戲,尤其是大型遊戲,最終使用java開發的並不多見,究其原因,一是因為java的內存管理策略,自動化內存管理,在內存效率上並不高,二是其虛擬機機制,對於硬件環境的調用隔了一層。
希望對你有幫助。
遊戲開發跟Java開發,哪個就業前景更好呢?
在一二線城市,遊戲開發的就業前景是比較好的,而小一點的城市遊戲開發的需求不高。但是java就業前景一直很好,無論是大城市還是小城市。千鋒教育有線上免費Java線上公開課。 而且作為一種最流行的網絡編程語言之一,java語言在當今信息化社會中發揮了重要的作用。Java語言具有面向對象、跨平台、安全性、多線程等特點,這使得java成為許多應用系統的理想開發語言。隨着Internet的迅速發展,Web應用日益廣泛,Java語言也得到了迅速發展。所以說現在市場對於java開發工程師的需求量是非常高的,所以java開發的就業前景是優於遊戲開發的。如果想了解更多相關知識,建議到千鋒教育了解一下。千鋒教育目前在18個城市擁有22個校區,年培養優質人才20000餘人,與國內20000餘家企業建立人才輸送合作關係,院校合作超600所。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/300995.html