注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)游戲設(shè)計Java游戲編程

Java游戲編程

Java游戲編程

定 價:¥68.00

作 者: (美)David Brackeen著;邱仲潘譯;邱仲潘譯
出版社: 科學(xué)出版社
叢編項: 游戲開發(fā)與編程系列
標(biāo) 簽: Java 語言與開發(fā)工具 程序語言與軟件開發(fā) 計算機與互聯(lián)網(wǎng)

ISBN: 9787030129420 出版時間: 2004-06-01 包裝: 平裝
開本: 26cm 頁數(shù): 663 字數(shù):  

內(nèi)容簡介

  Java游戲編程已經(jīng)在游戲開發(fā)中成為重頭戲。使用Java的好處是明顯的:代碼易讀易寫,而且可以在不同平臺上方便快捷地開發(fā)。如果你已經(jīng)有Java編程的經(jīng)驗,而且想涉及游戲編程,那么《Java游戲編程》是不錯的選擇。本書介紹如何使用Javal.4平臺建立快速的全屏動作游戲,如橫向卷軸和三維射擊程序。介紹的關(guān)鍵特性包括Java游戲編程技術(shù),最新二維圖形和聲音技術(shù),三維圖形和視景管理,路徑尋找和人工智能,碰撞探測,使用BeanShell的游戲腳本和多方游戲引擎的生成等。本書主要內(nèi)容包括:掌握全屏圖形與動畫、硬件加速圖形技術(shù):在游戲中增加人工智能和精彩的多方功能;生成定制鼠標(biāo)和鍵盤控制的系統(tǒng);在全屏游戲中集成Swing用戶界面;同時播放多個聲音,使用回響、偽三維聲音過濾之類的實時聲音效果;用BSP樹、碰撞探測和腳本生成三維引擎;學(xué)習(xí)現(xiàn)代Java虛擬機的優(yōu)化方法。本書面向游戲開發(fā)人員及廣大游戲編程愛好者,同時,也是大專院校相關(guān)專業(yè)師生的有力參考。本書配套光盤內(nèi)容為書中實例源代碼。需要本書或需要得到技術(shù)支持的讀者,請與北京中關(guān)村083信箱(郵編100080)發(fā)行部聯(lián)系。電話:010-62528991,62524940,62521921,62521724,82610344,82675588(總機)傳真:010-62520573,E-mail:yanmc@bhp.com。cn版權(quán)聲明

作者簡介

暫缺《Java游戲編程》作者簡介

圖書目錄

第一部分 Java游戲基礎(chǔ)
第1章 Java線程
1.1 什么是線程
1.2 在Java中生成與運行線程
1.2.1 擴展Thread類
1.2.2 實現(xiàn)Runnable接口
1.2.3 使用匿名內(nèi)類
1.2.4 等待線程完成
1.2.5 休眠線程
1.3 同步
1.3.1 為什么要同步
1.3.2 如何同步
1.3.3 同步是什么
1.3.4 不同步是什么
1.3.5 避免死鎖
1.4 使用wait()與notify()
1.5 Java事件模型
1.6 何時使用線程
1.7 何時不使用線程
1.8 線程池
1.9 小結(jié)
第2章 二維圖形與動畫
2.1 全屏圖形
2.1.1 屏幕布局
2.1.2 像素顏色與位深度
2.1.3 刷新率
2.1.4 將顯示切換到全屏方式
2.1.5 抗齒邊
2.1.6 選用顯示方式
2.2 圖像
2.2.1 透明度
2.2.2 文件格式
2.2.3 讀取圖像
2.2.4 硬件加速圖像
2.2.5 圖形繪制基準(zhǔn)程序
2.2.6 動畫
2.2.7 活動繪制
2.2.8 動畫循環(huán)
2.3 避免閃爍與裂開
2.3.1 雙緩存
2.3.2 翻頁
2.3.3 監(jiān)視刷新與裂開
2.3.4 BufferStrategy類
2.3.5 生成屏幕管理器
2.3.6 幽靈
2.4 簡單效果
2.5 小結(jié)
第3章 交互性與用戶界面
3.1 AWT事件模型
3.2 鍵盤輸入
3.3 鼠標(biāo)輸入
3.4 通過鼠標(biāo)移動的觀看模式
3.5 創(chuàng)建輸入管理器
3.6 使用輸入管理器
3.6.1 暫停游戲
3.6.2 增加重力
3.7 設(shè)計直觀用戶界面
3.8 使用Swing組件
3.8.1 Swing基礎(chǔ)
3.8.2 在全屏方式中使用Swing
3.9 創(chuàng)建簡單菜單
3.10 讓游戲者配置鍵盤
3.11 小結(jié)
第4章 聲效與音樂
4.1 聲音基礎(chǔ)
4.2 Java Sound API
4.2.1 打開聲音文件
4.2.2 使用Line
4.3 播放聲音
4.4 創(chuàng)建實時聲音過濾體系結(jié)構(gòu)
4.5 創(chuàng)建實時回響過濾
4.6 仿真三維聲音
4.6.1 生成三維過濾器的思路
4.6.2 實現(xiàn)三維過濾器
4.6.4 測試三維過濾器
4.7 創(chuàng)建聲音管理器
4.7.1 Sound類
4.7.2 SoundManager類
4.7.3 線程局部變量
4.8 播放音樂
4.8.1 播放光盤聲頻
4.8.2 播放MP3與Ogg Vorbis
4.8.3 播放MIDI音樂
4.8.4 生成適配音樂
4.9 小結(jié)
第5章 創(chuàng)建二維平臺游戲
5.1 生成基于地磚的地圖
5.1.1 實現(xiàn)Tile地圖
5.1.2 讀取Tile地圖
5.1.3 繪制Tile地圖
5.1.4 繪制幽靈
5.1.5 視差滾動
5.1.6 充電器
5.1.7 簡單壞人
5.2 碰撞探測
5.2.1 探測碰撞
5.2.2 處理碰撞
5.2.3 幽靈碰撞
5.3 完成與加速
5.4 生成可執(zhí)行的 .jar文件
5.5 擴展游戲
5.6 小結(jié)
第6章 多人游戲
6.1 Java I/O庫的變革
6.1.1 JDK 1.4 NIO庫的概述
6.1.2 信道
6.1.3 緩存
6.1.4 選擇器與SelectionKeys
6.2 基本多方游戲應(yīng)用程序
6.2.1 服務(wù)器端
6.2.2 建立與運行服務(wù)器
6.2.3 客戶端
6.2.4 建立與運行客戶機
6.3 多方游戲服務(wù)器框架
6.3.1 設(shè)計目標(biāo)與戰(zhàn)術(shù)
6.3.2 設(shè)計
6.3.3 共用類與接口
6.3.4 服務(wù)器實現(xiàn)
6.3.5 客戶機
6.4 RPS游戲(石頭、布、剪刀)
6.4.1 類
6.4.2 運行RPS游戲
6.5 建立框架
6.5.1 客戶機GUI
6.5.2 持久性
6.5.3 伙伴名單、門廳與閑聊
6.6 服務(wù)器管理
6.6.1 登記
6.6.2 啟動/關(guān)閉
6.6.3 服務(wù)器管理控制臺
6.6.4 游戲監(jiān)查
6.7 高級課題
6.7.1 切斷與重接
6.7.2 HTTP隧道
6.7.3 量化測試
6.7.4 Modem連接
6.7.5 性能剖析與統(tǒng)計
6.7.6 性能調(diào)整
6.8 小結(jié)
第二部分 三維圖形與高級技術(shù)
第7章 三維圖形
7.1 三維繪制的類型
7.2 回顧曾經(jīng)學(xué)過的數(shù)學(xué)
7.2.1 三角學(xué)和直角三角形
7.2.2 向量數(shù)學(xué)
7.3 3D的基礎(chǔ)
7.4 3D的數(shù)學(xué)
7.5 多邊形
7.6 三維變換
7.6.1 旋轉(zhuǎn)
7.6.2 包裝旋轉(zhuǎn)和平移變換
7.6.3 采用變換
7.6.4 旋轉(zhuǎn)順序
7.7 3D的簡單管道
7.8 鏡頭移動
7.9 實體和背面刪除
7.9.1 點積
7.9.2 交積
7.9.3 再談點積和交積
7.10 掃描轉(zhuǎn)換多邊形
7.11 三維剪取
7.12 最后繪制管道
7.13 小結(jié)
第8章 紋理貼圖與照明
8.1 透視正確紋理貼圖的基礎(chǔ)
8.2 簡單紋理貼圖器
8.3 優(yōu)化紋理貼圖
8.3.1 紋理的存儲格式
8.3.2 原始優(yōu)化
8.3.3 內(nèi)聯(lián)方法
8.3.4 快速紋理貼圖演示程序
8.4 簡單燈光
8.4.1 擴散反射
8.4.2 環(huán)境光
8.4.3 光源強度
8.4.4 距離減弱
8.4.5 實現(xiàn)點光源
8.5 實現(xiàn)紋理照明
8.6 使用陰影圖的高級照明
8.6.1 求出邊界矩形
8.6.2 采用色檔圖
8.6.3 建立色檔圖
8.6.4 建立表面
8.6.5 緩存表面
8.6.6 陰影表面演示程序
8.7 其他概念
8.7.1 深度提示
8.7.2 偽陰影
8.7.3 MIP貼圖
8.7.4 雙線性插值
8.7.5 三線性插值
8.7.6 法線圖與深度
8.7.7 其他類型的光
8.8 小結(jié)
第9章 三維對象
9.1 表面消隱
9.1.1 油畫算法
9.1.2 反油畫算法
9.1.3 Z緩存
9.1.4 使用1/Z的Z緩存
9.1.5 計算Z深度
9.2 三維動畫
9.2.1 空間運動
9.2.2 角度運動
9.3 多邊形組
9.4 從OBJ文件裝入多邊形組
9.4.1 OBJ文件格式
9.4.2 MTL文件格式
9.5 游戲?qū)嶓w
9.6 管理游戲?qū)嶓w
9.7 綜合起來
9.8 改進
9.9 小結(jié)
第10章 用BSP樹管理三維視景
10.1 BSP樹簡介
10.2 二叉樹基礎(chǔ)
10.3 一維BSP樹
10.4 二維BSP樹
10.4.1 建立BSP樹
10.4.2 BSP樹遍歷實例
10.5 實現(xiàn)二維BSP樹
10.5.1 BSP Line
10.5.2 確定點相對于直線的邊
10.5.3 BSP多邊形
10.5.4 遍歷BSP樹
10.5.5 中序遍歷
10.5.6 由前到后遍歷
10.5.7 樹的建立
10.5.8 兩條線求交
10.5.9 用直線剪取多邊形
10.5.10 刪除T形接頭
10.5.11 測試BSP樹
10.6 從前到后畫多邊形
10.7 第一個BSP樹例子
10.8 在視景中畫實體
10.9 從文中裝入貼圖
10.10 綜合起來
10.11 改進
10.12 小結(jié)
第11章 碰撞探測
11.1 碰撞基礎(chǔ)
11.2 實體間碰撞
11.2.1 減少測試
11.2.2 邊框球
11.2.3 邊框圓柱
11.2.4 離散時間問題
11.3 實體與世界碰撞
11.3.1 測試地板的邊框
11.3.2 尋找特定位置的BSP葉
11.3.3 實現(xiàn)地板和天花板高度測試
11.3.4 測試墻的邊框
11.3.5 BSP樹的線段交點
11.3.6 角問題
11.3.7 實現(xiàn)實體/世界碰撞探測
11.4 基本碰撞探測演示程序
11.5 滑動與碰撞處理
11.5.1 實體間滑動
11.5.2 實體沿墻的滑動
11.5.3 重力與爬樓梯(實體沿地面滑動)
11.5.4 實現(xiàn)跳動
11.6 碰撞探測與滑動演示程序
11.7 改進
11.8 小結(jié)
第12章 路徑搜索
12.1 路徑尋找基礎(chǔ)
12.2 初步路徑尋找方法
12.3 A*算法基礎(chǔ)
12.4 采用A*算法
12.5 BSP樹與A*算法
12.5.1 門戶
12.5.2 實現(xiàn)門戶
12.6 一般性路徑尋找
12.7 建立PathBot
12.8 改進A*搜索
12.9 小結(jié)
第13章 人工智能
13.1 人工智能基礎(chǔ)
13.2 減少Bot的神力
13.2.1 視覺
13.2.2 聽覺
13.3 狀態(tài)機與響應(yīng)
13.4 概率機
13.5 決策
13.6 模式
13.6.1 躲避
13.6.2 攻擊
13.6.3 跑開
13.6.4 瞄準(zhǔn)
13.6.5 射擊
13.7 實體派生
13.8 綜合起來
13.8.1 大腦
13.8.2 健康與死亡
13.9 進化
13.9.1 再生
13.9.2 進化Bot
13.9.3 演示改進
13.10 進化
13.11 小結(jié)
第14章 游戲腳本
14.1 關(guān)于腳本
14.2 實現(xiàn)接觸與釋放通知
14.3 游戲?qū)嶓w監(jiān)聽器
14.4 腳本
14.4.1 設(shè)計腳本
14.4.2 嵌入BeanShell解釋器
14.5 延遲事件
14.6 綜合起來
14.7 改進
14.8 小結(jié)
第15章 保存游戲
15.1 游戲保存基礎(chǔ)
15.2 對游戲狀態(tài)保存使用Java序列化API
15.2.1 序列化簡介
15.2.2 序列化基礎(chǔ)
15.2.3 序列化規(guī)則
15.2.4 序列化問題
15.2.5 覆蓋缺省行為
15.3 生成游戲屏幕圖形
15.3.1 生成屏幕略圖圖形
15.3.2 保存圖形
15.4 將游戲保存到正確目的地
15.5 小結(jié)
第三部分 調(diào)整與完成游戲
第16章 優(yōu)化技術(shù)
16.1 優(yōu)化規(guī)則
16.2 剖析
16.2.1 基準(zhǔn)測試
16.2.2 使用HotSpot剖析器
16.3 HotSpot
16.3.1 Java特定優(yōu)化
16.3.2 死亡代碼消除
16.3.3 循環(huán)不變項提升
16.3.4 公共子表達式消除
16.3.5 常量傳遞
16.3.6 內(nèi)聯(lián)方法
16.4 優(yōu)化技巧
16.4.1 算法
16.4.2 移位
16.4.3 求模
16.4.4 乘法
16.4.5 指數(shù)
16.4.6 更多循環(huán)不變項提升
16.4.7 查找表
16.4.8 定點算術(shù)
16.4.9 異常
16.4.10 輸入/輸出
16.4.11 內(nèi)存貼圖文件
16.5 內(nèi)存使用與回收
16.5.1 Java堆與內(nèi)存回收
16.5.2 監(jiān)視內(nèi)存回收
16.5.3 監(jiān)視內(nèi)存使用
16.5.4 調(diào)整堆
16.5.5 調(diào)用內(nèi)存回收單元
16.5.6 減少對象生成
16.5.7 對象復(fù)用
16.5.8 對象池
16.6 感覺性能
16.7 小結(jié)
第17章 生成游戲圖形與聲音
17.1 選擇外觀
17.1.1 尋找靈感
17.1.2 保持一致
17.2 取得自由版權(quán)游戲媒體
17.3 與藝術(shù)家和聲效工程師合作
17.4 工具
17.5 生成聲音
17.6 生成紋理與幽靈
17.6.1 圖形文件格式
17.6.2 生成無縫紋理
17.6.3 生成替換紋理
17.6.4 生成過渡紋理
17.6.5 生成多層紋理
17.7 生成漂亮屏幕與HUD圖形
17.8 生成UI圖形
17.9 生成字體
17.10 小結(jié)
第18章 游戲設(shè)計與最后10%
18.1 最后10%
18.1.1 效果
18.1.2 游戲狀態(tài)機
18.2 游戲設(shè)計要素
18.2.1 環(huán)境
18.2.2 故事要素
18.2.3 玩游戲
18.2.4 告訴用戶怎么玩
18.3 生成貼圖編輯器
18.4 調(diào)試
18.4.1 調(diào)試Java2D問題
18.4.2 日志
18.5 保護代碼
18.6 游戲部署
18.7 Java Web Start游戲部署
18.7.1 從jar文件取得資源
18.7.2 簽名jar文件
18.7.3 生成JNLP文件
18.7.4 設(shè)置Web服務(wù)器
18.8 自然編譯游戲部署
18.9 更新與補丁
18.10 帶寬問題
18.11 反饋與Beta測試
18.12 賺錢
18.13 綜合起來
18.14 小結(jié)
第19章 未來
19.1 Java的演變
19.1.1 Java社團
19.1.2 缺陷天堂(Bug Parade)
19.2 Java 1.5(Tiger)
19.2.1 一般(JSR 14)
19.2.2 枚舉(JSR 201)
19.2.3 靜態(tài)導(dǎo)入(JSR 201)
19.2.4 改進for循環(huán)(JSR 201)
19.2.5 編譯器API(JSR 199)
19.2.6 網(wǎng)絡(luò)傳輸格式(JSR 200)
19.2.7 共享虛擬機(JSR 121)
19.3 Java平臺需要什么
19.3.1 更多鼠標(biāo)與鍵盤輸入選項
19.3.2 游戲桿輸入
19.3.3 硬件加速半透明圖像
19.3.4 高精度定時器
19.3.5 Linux中的硬件加速圖形和全屏方式
19.3.6 運行環(huán)境中的硬件加速三維特性
19.3.7 HotSpot SIMD優(yōu)化
19.3.8 更多字體光順選項
19.3.9 其他情況
19.4 新設(shè)備與Java Games Profile(JSR 134)
19.5 小結(jié)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號