從 Java 到 Android 游戲編程開發
內容描述
本書是一本面向廣大編程愛好者的游戲設計類圖書。本書從最基本的Java面向對象設計,圖形開發開始,對游戲的原理及其Java程序實現進行了詳細介紹,包括動畫的實現、音效的處理、鼠標和鍵盤事件的處理。本書最後4章在前面基礎上講解Android游戲圖形界面開發,介紹Java如何開發Andriod手機游戲。
目錄大綱
部分Java
章計算機遊戲開發的Java基礎
1.1計算機遊戲的發展歷史
1.2計算機遊戲的類型
1.2.1RPG遊戲
1.2.2SLG遊戲
1.2.3AVG遊戲
1.2.4PUZ遊戲
1.2.5STG遊戲
1.2.6ACT遊戲
1.2.7RAC遊戲
1.3計算機遊戲的策劃和開發工具
1.3.1遊戲的策劃
1.3.2遊戲設計的基本內容
1.3.3遊戲的開發工具
1.4開發遊戲的Java技術
1.4.1標識符
1.4.2基本類型
1.4.3運算符和表達式
1.4.4類型轉換
1.4.5打印語句
1.4.6邏輯控制語句
1.5Java語言的類和對象
1.5.1對象
1.5.2成員方法和類的特點
1.5.3包
1.5.4Java訪問權限修飾符
1.5.5Java語言註釋
1.6Java數組和Vector容器的應用
1.6.1Java數組
1.6.2Vector容器
1.7文件操作
1.7.1字節流
1.7.2字符流
第2章遊戲圖形界面開發基礎
2.1AWT簡介
2.2Swing基礎
2.3Swing組件
2.3.1JButton
2.3.2JRadioButton
2.3.3JCheckBox
2.3.4JComboBox
2.3.5JList
2.3.6JTextField和JPasswordField
2.3.7JPanel
2.3.8JTable
2.3.9JFrame
2.4佈局管理器
2.4.1佈局管理器概述
2.4.2流佈局管理器
2.4.3邊界佈局管理器
2.4.4卡片佈局管理器
2.4.5網格佈局管理器
2.4.6null佈局管理器
2.5常用事件處理
2.5.1動作事件處理
2.5.2鼠標事件處理
2.5.3鍵盤事件處理
第3章Java圖形處理和Java 2D
3.1Java圖形坐標系統和圖形上下文
3.2Color類
3.3Font類和FontMetrics類
3.3.1Font類
3.3.2FontMetrics類
3.4常用的繪圖方法
3.4.1繪製直線
3.4.2繪製矩形
3.4.3繪製橢圓
3.4.4繪製弧形
3.4.5繪製多邊形和折線段
3.4.6清除繪製的圖形
3.5Java 2D簡介
3.5.1Java 2D API
3.5.2Graphics2D簡介
3.5.3Graphics2D的圖形繪製
3.5.4Graphics2D的屬性設置
3.5.5路徑類
3.5.6平移、縮放和旋轉圖形
第4章Java遊戲程序的基本框架
4.1動畫的類型及幀頻
4.1.1動畫的類型
4.1.2設置合理的幀頻
4.2遊戲動畫的製
4.2.1繪製動畫以及設置動畫循環
4.2.2消除屏幕閃爍現象——雙緩衝技術
4.3使用定時器
4.4設置遊戲難度
4.5遊戲與玩家的交互
4.6遊戲中的碰撞檢測
4.6.1矩形碰撞
4.6.2圓形碰撞
4.6.3像素碰撞
4.7遊戲中的圖像繪製
4.7.1圖像文件的裝載
4.7.2圖像文件的顯示
4.7.3繪製捲軸型圖像
4.7.4繪製磚塊型圖像
4.8遊戲角色開發
4.9遊戲聲音效果的設定
第5章推箱子遊戲
5.1推箱子遊戲介紹
5.2程序設計的思路
5.3程序設計的步驟
5.3.1設計地圖數據類
5.3.2設計地圖類
5.3.3設計遊戲面板類
5.3.4設計播放背景音樂類
第6章飛機射擊遊戲
6.1飛機射擊遊戲介紹
6.2程序設計的思路
6.2.1遊戲素材
6.2.2地圖滾動的實現
6.2.3飛機和子彈的實現
6.2.4主角飛機的子彈與敵機的碰撞檢測
6.3關鍵技術
6.3.1多線程
6.3.2Java的Thread類和Runnable接口程序設計的步驟
.1設計子彈類
.2設計敵機類
.3設計遊戲界麵類
.4設計遊戲窗口類
第7章21點撲克牌遊戲
7.121點撲克牌遊戲介紹
7.2關鍵技術
7.2.1撲克牌面的繪製
7.2.2識別牌的點數
7.2.3莊家要牌的智能實現
7.2.4遊戲規則的算法實現
7.3程序設計的步驟
7.3.1設計撲克牌類
7.3.2設計一副牌類
7.3.3設計遊戲面板類
7.3.4設計遊戲主窗口類
第8章連連看遊戲
8.1連連看遊戲介紹
8.2程序設計的思路
8.2.1連連看遊戲的數據模型
8.2.2動物方塊的佈局
8.2.3連通算法
8.2.4智能查找功能的實現
8.3關鍵技術
8.3.1動物方塊圖案的顯示
8.3.2鼠標相關事件
8.3.3功能
8.4程序設計的步驟
8.4.1設計遊戲窗口類
8.4.2設計遊戲面板類
第9章人物拼圖遊戲
9.1人物拼圖遊戲介紹
9.2程序設計的思路
9.3關鍵技術
9.3.1按鈕顯示圖片的實現
9.3.2圖片按鈕移動的實現
9.3.3從BufferedImage轉化成ImageIcon
9.4程序設計的步驟
9.4.1設計單元圖片類
9.4.2創建枚舉類型
9.4.3設計遊戲面板類
9.4.4設計主窗口類
0章按鈕版對對碰遊戲
10.1按鈕版對對碰遊戲介紹
10.2程序設計的思路
10.2.1遊戲素材
10.2.2設計思路
10.3關鍵技術
10.3.1動態生成8×8的按鈕
10.3.2JProgressBar組件
10.3.3實現定時器功能
10.4程序設計的步驟
10.4.1設計遊戲窗口類
10.4.2設計內部定時器類
1章華容道遊戲
11.1華容道遊戲介紹
11.2程序設計的思路
11.2.1數據結構
11.2.2遊戲邏輯
11.3程序設計的步驟
11.3.1設計遊戲人物按鈕類
11.3.2設計遊戲窗口類
2章單機版五子棋遊戲
12.1單機版五子棋遊戲介紹
12.2程序設計的思路
12.3關鍵技術
12.3.1Vector容器
12.3.2判斷輸贏的算法
12.4程序設計的步驟
3章網絡五子棋遊戲
13.1網絡五子棋遊戲介紹
13.2程序設計的思路
13.2.1界面設計
13.2.2通信協議
13.3關鍵技術
13.3.1Socket技術
13.3.2InetAddress類
13.3.3ServerSocket類
13.3.4Socket類
13.4程序設計的步驟
13.4.1設計服務器端類
13.4.2設計客戶端類
4章網絡中國象棋遊戲
14.1網絡中國象棋遊戲介紹
14.2程序設計的思路
14.2.1棋盤的表示
14.2.2棋子的表示
14.2.3走棋規則
14.2.4坐標轉換
14.2.5通信協議設計
14.2.6網絡通信傳遞棋子信息
14.3關鍵技術
14.3.1UDP簡介
14.3.2DatagramPacket類
14.3.3DatagramSocket類
14.3.4P2P知識
14.4程序設計的步驟
14.4.1設計棋子類
14.4.2設計棋盤類
14.4.3設計遊戲窗口類
5章打獵遊戲
15.1打獵遊戲介紹
15.2程序設計的思路
15.2.1遊戲素材
15.2.2設計思路
15.3關鍵技術
15.3.1控制動物組件的移動速度
15.3.2隨機間歇產生動物組件
15.3.3玻璃面板的顯示
15.4程序設計的步驟
15.4.1設計小鳥類
15.4.2設計野豬類
15.4.3設計背景面板類
15.4.4設計主窗口類
6章2.5D推箱子遊戲
16.12.5D推箱子遊戲介紹
16.2程序設計的思路
16.3程序設計的步驟
16.3.1設計遊戲界麵類
16.3.2設計遊戲窗口類
7章俄羅斯方塊遊戲
17.1俄羅斯方塊遊戲介紹
17.2程序設計的思路
17.2.1俄羅斯方塊的形狀設計
17.2.2俄羅斯方塊遊戲的屏幕
17.2.3俄羅斯方塊遊戲的運行流程
17.3程序設計的步驟
17.3.1設計遊戲界麵類
17.3.2設計遊戲窗口類
8章兩人麻將游戲
18.1兩人麻將游戲介紹
18.2程序設計的思路
18.2.1素材圖片
18.2.2遊戲邏輯的實現
18.2.3碰牌和吃牌的判斷
18.2.4和牌算法
18.2.5實現計算機智能出牌
18.3關鍵技術
18.3.1對ArrayList進行排序
18.3.2設置Java組件的重疊順序
18.4程序設計的步驟
18.4.1設計麻將牌類
18.4.2設計遊戲面板類
18.4.3設計遊戲主窗口類
第二部分Android
9章Android遊戲界面開發基礎
19.1Android開發基礎
19.1.1Android開發環境
19.1.2創建個Android項目
19.1.3Android程序結構
19.1.4Android資源的使用
19.1.5Android常用的視圖
19.1.6Android的四大組件
19.2佈局管理
19.3UI界面控件
19.3.1TextView控件
19.3.2EditText控件
19.3.3Button控件
19.3.4ImageView控件
19.3.5ImageButton控件
19.3.6Android菜單
19.3.7ImageView控件的應用——數字拼圖遊戲
第20章Android遊戲圖形開發基礎
20.1繪製幾何圖形
20.1.1畫布類
20.1.2畫筆類
20.1.3路徑類
20.1.4遊戲開發中幾何圖形繪製過程
20.2Android遊戲開發基礎——View和SurfaceView遊戲框架
20.2.1View遊戲框架
20.2.2View 遊戲框架實例
20.2.3SurfaceView遊戲框架
20.2.4SurfaceView遊戲框架實例
20.2.5SurfaceView視圖添加線程
20.2.6View和SurfaceView的區別
20.3檢測用戶在屏幕上的操作
20.3.1單擊按鍵手勢識別
20.3.2觸摸屏幕
20.3.3手勢識別
20.4MediaPlayer播放音頻與
20.4.1MediaPlayer使用步驟
20.4.2MediaPlayer相關方法
20.4.3MediaPlayer使用示例
第21章Android遊戲實例——停車場遊戲
21.1Android停車場遊戲介紹
21.2程序設計的思路
21.3程序設計的步驟
21.3.1設計遊戲視圖View(CarView.java)
21.3.2設計遊戲界麵類(CarParking.java)
第22章Android遊戲實例——連連看遊戲
22.1Android連連看遊戲介紹
22.2Android連連看遊戲設計思路
22.2.1界面設計
22.2.2連通算法和智能查找功能的實現
22.3關鍵技術
22.3.1動物方塊圖案的顯示
22.3.2對話框的顯示
22.4程序設計的步驟
22.4.1設計遊戲視圖類(LLKGameView.java)
22.4.2設計遊戲主界面Activity(GameMain.java)
22.5增強連連看遊戲程序的功能
第23章Android遊戲實例——推箱子遊戲
23.1Android推箱子遊戲介紹
23.2程序設計的思路
23.3關鍵技術
23.4程序設計的步驟
23.4.1設計地圖數據類(MapFactory.java)
23.4.2設計地圖類(Map.java)
23.4.3設計遊戲視圖類(GameView.java)
23.4.4設計遊戲主界面Activity(GameMain.java)
參考文獻
作者介紹
主編21世紀高等學校規劃教材《Visual Basic.NET程序設計基礎與應用》2009-2 中國電力出版社
主編《VB.NET程序設計教程》2012-12 中國水利水電出版社
主編《Visual C#.NET基礎與應用教程》 2014-05 清華大學出版社
主編《Flash ActionScript3.0動畫基礎與遊戲設計》 2015-01 清華大學出版社
主編《Python程序設計》 2017-08 清華大學出版社
主編《C/C++程序設計教程——面向過程分冊》2017-09 電子工業出版社(國家十二五規劃教材)