1. Java游戲編程的圖書信息(一)
ISBN: 7030129423
印刷時間: 2004-6第1次印刷
開 本: 16
價 格(元): 68 第一部分 Java游戲基礎
第1章 Java線程 1. 1 什麼是線程 1. 2 在Java中生成與運行線程 1. 2. 1 擴展Thread類 1. 2. 2 實現Runnable介面 1. 2. 3 使用匿名內類 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 小結
第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 圖形繪制基準程序 2. 2. 6 動畫 2. 2. 7 活動繪制 2. 2. 8 動畫循環 2. 3 避免閃爍與裂開 2. 3. 1 雙緩存 2. 3. 2 翻頁2. 3. 3 監視刷新與裂開 2. 3. 4 BufferStrategy類 2. 3. 5 生成屏幕管理器 2. 3. 6 幽靈 2. 4 簡單效果 2. 5 小結
第3章 交互性與用戶界面 3. 1 AWT事件模型 3. 2 鍵盤輸入 3. 3 滑鼠輸入 3. 4 通過滑鼠移動的觀看模式 3. 5 創建輸入管理器 3. 6 使用輸入管理器 3. 6. 1 暫停游戲 3. 6. 2 增加重力 3. 7 設計直觀用戶界面 3. 8 使用Swing組件 3. 8. 1 Swing基礎 3. 8. 2 在全屏方式中使用Swing 3. 9 創建簡單菜單 3. 10 游戲者配置鍵盤 3. 11 小結
第4章 聲效與音樂 4. 1 聲音基礎 4. 2 JavaSoundAPl 4. 2. 1 打開聲音文件 4. 2. 2 使用Line 4. 3 播放聲音 4. 4 創建實時聲音過濾體系結構 4. 5 創建實時回響過濾 4. 6 模擬三維聲音 4. 6. 1 生成三維過濾器的思路 4. 6. 2 實現三維過濾器 4. 6. 4 測試三維過濾器 4. 7 創建聲音管理器 4. 7. 1 Sound類 4. 7. 2 SoundManager類 4. 7. 3 線程局部變數4. 8 播放音樂 4. 8. 1 播放光碟聲頻 4. 8. 2 播放MP3與OggVorbis 4. 8. 3 播放MIDI音樂4. 8. 4 生成適配音樂 4. 9 小結
第5章 創建二維平台游戲 5. 1 生成基於地磚的地圖 5. 1. 1 實現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 生成可執行的.jar文件 5. 5 擴展游戲 5. 6 小結
第6章 多人游戲 6. 1 Java I/O庫的變革 6. 1. 1 JDK 1. 4NIO庫的概述 6. 1. 2 信道 6. 1. 3 緩存 6. 1. 4 選擇器與SelectionKeys 6. 2 基本多方游戲應用程序6. 2. 1 伺服器端 6. 2. 2 建立與運行伺服器 6. 2. 3 客戶端6. 2. 4 建立與運行客戶機 6. 3 多方游戲伺服器框架 6. 3. 1 設計目標與戰術 6. 3. 2 設計 6. 3. 3 共用類與介面 6. 3. 4 伺服器實現 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 伺服器管理 6. 6. 1 登記 6. 6. 2 啟動/關閉 6. 6. 3 伺服器管理控制台 6. 6. 4 游戲監查 6. 7 高級課題 6. 7. 1 切斷與重接 6. 7. 2 HTTP隧道 6. 7. 3 量化測試 6. 7. 4 Modem連接 6. 7. 5 性能剖析與統計 6. 7. 6 性能調整 6. 8 小結
第二部分 三維圖形與高級技術
第7章 三維圖形 7. 1 三維繪制的類型 7. 2 回顧曾經學過的數學 7. 2. 1 三角學和直角三角形 7. 2. 2 向量數學 7. 3 3D的基礎 7. 4 3D的數學 7. 5 多邊形 7. 6 三維變換 7. 6. 1 旋轉 7. 6. 2 包裝旋轉和平移變換 7. 6. 3 採用變換 7. 6. 4 旋轉順序 7. 7 3D的簡單管道 7. 8 鏡頭移動 7. 9 實體和背面刪除 7. 9. 1 點積 7. 9. 2 交積 7. 9. 3 再談點積和交積 7. 10 掃描轉換多邊形 7. 11 三維剪取 7. 12 最後繪制管道 7. 13 小結
第8章 紋理貼圖與照明 8. 1 透視正確紋理貼圖的基礎 8. 2 簡單紋理貼圖器 8. 3 優化紋理貼圖 8. 3. 1 紋理的存儲格式 8. 3. 2 原始優化 8. 3. 3 內聯方法 8. 3. 4 快速紋理貼圖演示程序 8. 4 簡單燈光 8. 4. 1 擴散反射 8. 4. 2 環境光 8. 4. 3 光源強度 8. 4. 4 距離減弱 8. 4. 5 實現點光源 8. 5 實現紋理照明 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 小結
第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 0BJ文件格式 9. 4. 2 MTL文件格式 9. 5 游戲實體 9. 6 管理游戲實體 9. 7 綜合起來 9. 8 改進 9. 9 小結
第10章 用BSP樹管理三維視景 10. 1 BSP樹簡介 10. 2 二叉樹基礎 10. 3 一維BSP樹 10. 4 二維BSP樹 10. 4. 1 建立BSP樹 10. 4. 2 BSP樹遍歷實例 10. 5 實現二維BSP樹 10. 5. 1 BSPLine 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 小結
第11章 碰撞探測 11. 1 碰撞基礎 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 實現地板和天花板高度測試 11. 3. 4 測試牆的邊框 11. 3. 5 BSP樹的線段交點 11. 3. 6 角問題 11. 3. 7 實現實體/世界碰撞探測 11. 4 基本碰撞探測演示程序 11. 5 滑動與碰撞處理 11. 5. 1 實體間滑動 11. 5. 2 實體沿牆的滑動 11. 5. 3 重力與爬樓梯 實體沿地 面滑動 11. 5. 4 實現跳動 11. 6 碰撞探測與滑動演示程序 11. 7 改進 11. 8 小結
第12章 路徑搜索 12. 1 路徑尋找基礎 12. 2 初步路徑尋找方法 12. 3 A*演算法基礎 12. 4 採用A*演算法 12. 5 BSP樹與A*演算法 12. 5. 1 門戶 12. 5. 2 實現門戶 12. 6 一般性路徑尋找 12. 7 建立PathBot 12. 8 改進A*搜索 12. 9 小結
第13章 人工智慧 13. 1 人工智慧基礎13. 2 減少Bot的神力 13. 2. 1 視覺 13. 2. 2 聽覺 13. 3 狀態機與響應 13. 4 概率機 13. 5 決策 13. 6 模式 13. 6. 1 躲避 13. 6. 2 攻擊 13. 6. 3 跑開 13. 6. 4 瞄準 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 小結
第14章 游戲腳本14. 1 關於腳本 14. 2 實現接觸與釋放通知 14. 3 游戲實體監聽器 14. 4 腳本 14. 4. 1 設計腳本 14. 4. 2 嵌入BeanShell解釋器14. 5 延遲事件 14. 6 綜合起來 14. 7 改進 14. 8 小結
第15章 保存游戲 15. 1 游戲保存基礎 15. 2 對游戲狀態保存使用Java序列化 API 15. 2. 1 序列化簡介 15. 2. 2 序列化基礎 15. 2. 3 序列化規則 15. 2. 4 序列化問題 15. 2. 5 覆蓋預設行為 15. 3 生成游戲屏幕圖形 15. 3. 1 生成屏幕略圖圖形 15. 3. 2 保存圖形 15. 4 將游戲保存到正確目的地 15. 5 小結
第三部分 調整與完成游戲
第16章 優化技術 16. 1 優化規則 16. 2 剖析 16. 2. 1 基準測試 16. 2. 2 使用HotSpot剖析器 16. 3 HotSpot 16. 3. 1 Java特定優化 16. 3. 2 死亡代碼消除 16. 3. 3 循環不變項提升 16. 3. 4 公共子表達式消除 16. 3. 5 常量傳遞 16. 3. 6 內聯方法 16. 4 優化技巧 16. 4. 1 演算法 16. 4. 2 移位 16. 4. 3 求模 16. 4. 4 乘法 16. 4. 5 指數 16. 4. 6 更多循環不變項提升 16. 4. 7 查找表 16. 4. 8 定點算術 16. 4. 9 異常 16. 4. 10 輸入/輸出 16. 4. 11 內存貼圖文件 16. 5 內存使用與回收 16. 5. 1 Java堆與內存回收 16. 5. 2 監視內存回收 16. 5. 3 監視內存使用 16. 5. 4 調整堆 16. 5. 5 調用內存回收單元 16. 5. 6 減少對象生成 16. 5. 7 對象復用 16. 5. 8 對象池 16. 6 感覺性能 16. 7 小結
第17章 生成游戲圖形與聲音 17. 1 選擇外觀 17. 1. 1 尋找靈感 17. 1. 2 保持一致 17. 2 取得自由版權游戲媒體 17. 3 與藝術家和聲效工程師合作 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 小結
第18章 游戲設計與最後10% 18. 1 最後10% 18. 1. 1 效果 18. 1. 2 游戲狀態機 18. 2 游戲設計要素 18. 2. 1 環境 18. 2. 2 故事要素 18. 2. 3 玩游戲 18. 2. 4 告訴用戶怎麼玩 18. 3 生成貼圖編輯器18. 4 調試 18. 4. 1 調試Java2D問題 18. 4. 2 日誌 18. 5 保護代碼 18. 6 游戲部署 18. 7 JavaWebStart游戲部署 18. 7. 1 從jar文件取得資源 18. 7. 2 簽名jar文件 18. 7. 3 生成JNLP文件 18. 7. 4 設置Web伺服器 18. 8 自然編譯游戲部署 18. 9 更新與補丁18. 10 帶寬問題 18. 11 反饋與Beta測試18. 12 賺錢 18. 13 綜合起來 18. 14 小結
第19章 未來 19. 1 Java的演變 19. 1. 1 Java社團 19. 1. 2 缺陷天堂 BugParade 19. 2 Java 1. 5 Tiger 19. 2. 1 一般 JSRl4 19. 2. 2 枚舉 JSR201 19. 2. 3 靜態導入口 JR201 19. 2. 4 改進for循環 JSR201 19. 2. 5 編譯器API JSRl99 19. 2. 6 網路傳輸格式 JSR200 19. 2. 7 共享虛擬機JSR121 19. 3 Java平台需要什麼 19. 3. 1 更多滑鼠與鍵盤輸入選項 19. 3. 2 游戲桿輸入 19. 3. 3 硬體加速半透明圖像 19. 3. 4 高精度定時器19. 3. 5 Linux中的硬體加速圖形和全屏 方式 19. 3. 6 運行環境中的硬體加速三維 特性 19. 3. 7 HotSpotSIMD優化 19. 3. 8 更多字體光順選項 19. 3. 9 其他情況 19. 4 新設備與Java Games Profile JSR134 19. 5 小結
Java 是一個由 Sun 公司開發而成的新一代編程語言。使用它可在各式各樣不同機器、不同操作平台的網路環境中開發軟體。
游戲編程屬於軟體開發。用編程製作軟體屬於編程,但是指在進行中,而一但編制完整就屬於軟體開發了。