Java 2D游戏编程入门

Java 2D游戏编程入门
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , ,
2015-07
版次: 1
ISBN: 9787115392770
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 549页
字数: 672千字
正文语种: 简体中文
54人买过
  • 学习2D游戏开发基础,是快速积累游戏开发经验的关键。理解了2D环境的要素,将能够为游戏开发打下坚实的基础。
    本书讲解使用Java进行2D游戏开发的基础知识和基本技能。本书共18章,分为基础知识、提高技能和完整游戏3个部分,详细介绍应用编程、全屏游戏、输入处理、矩阵变换、基础物理、相交测试、碰撞检测等知识点和技能,最后采用介绍的所有概念,从头到尾开发了一款完整的游戏。 
    本书适合游戏开发的初学者阅读,尤其适合想要学习2D游戏编程基础的任何人。本书假设读者理解核心编程概念、面向对象软件以及Java编程语言,但不需要读者具备任何游戏编程的知识。 Timothy M. Wright是一名软件工程师,正在开发下一个美妙的独立游戏。最近10年,他都在公司的研发部门工作。此前,他是一位专业的音乐家。他获得了软件工程的学士学位,并且从事了很多年的研究和开发工作。他编写Java代码有10年以上的时间,并且之前在gamedev.net上发布了教程。在不开发游戏的时候,他喜欢钢琴爵士乐、打扑克、烹饪和酿造啤酒。 目录

    第一部分 基础知识 1
    第1章Hello World 1
    1.1使用FrameRate类 1
    1.2创建Hello World应用程序 2
    1.3使用主动渲染 4
    1.4创建定制的渲染线程 6
    1.5创建一个主动渲染的窗口 9
    1.6修改显示模式 11
    1.7全屏显示模式中的主动渲染 15
    1.8资源和延伸阅读 18
    第2章 18
    2.1处理键盘输入 19
    2.2键盘改进 23
    2.3处理鼠标输入 25
    2.4相对鼠标移动 33
    2.5资源和延伸阅读 41
    第3章变换 41
    3.1使用Vector2f类 42
    3.2使用极坐标 50
    3.3理解点和向量 55
    3.4使用矩阵变换 57
    3.5行主序矩阵和列主序矩阵 58
    3.6理解Matrix3x3f类 59
    3.7仿射变换 70
    3.8资料和延伸阅读 72
    第4章 时间和空间 72
    4.1计算时间增量 72
    4.2屏幕映射 78
    4.3调整视口高宽比 84
    4.4大炮实例 90
    4.6资料和延伸阅读 96
    第5章 简单游戏框架 96
    5.1屏幕到世界的转换 96
    5.2理解简单框架 98
    5.3使用简单框架模板 104
    5.4资源和延伸阅读 106
    第6章Vector2f更新 106
    6.1 inv( ) 106
    6.2add( ) 107
    6.3sub( ) 107
    6.4mul( ) 107
    6.5div( ) 108
    6.6len( )和lenSqr( ) 108
    6.7norm( ) 108
    6.8perp( ) 109
    6.9dot( ) 109
    6.10angle( ) 110
    6.11polar( ) 110
    6.12toString( ) 110
    6.12资源和延伸阅读 113
    第7章 相交测试 113
    7.1多边形中的点的测试 113
    7.1.1多边形特例中的点 115
    7.1.2多边形示例中的点 116
    7.2使用轴对齐边界框进行相交测试 120
    7.3使用圆形测试相交 121
    圆和AABB的重合 122
    7.4使用分隔轴方法 129
    7.5使用线段-线段的重叠方法 130
    7.6使用矩形-矩形的重叠方法 133
    7.7优化测试 137
    7.8资源和延伸阅读 137
    第8章 游戏原型 138
    8.1创建一个多边形包装类 138
    8.2创建一个原型小行星 145
    8.3创建一个原型编辑器 149
    8.4用原型小行星工厂生产小行星 153
    8.5原型Bullet类 159
    8.6原型Ship类 160
    8.7编写原型游戏 165
    第9章文件和资源 172
    9.1理解Java如何处理文件和目录 172
    9.2理解输入/输出流 174
    9.3创建Resources.jar文件进行测试 179
    9.4将资源放到类路径上 181
    9.5制作资源加载工具包 184
    9.6利用Java属性 186
    9.7XML文件概览 191
    9.8资源和延伸阅读 199
    第10章图像 199
    10.1学习Java中的颜色 199
    10.2了解不同的图像类型 200
    10.3执行颜色插值 205
    10.4使用VolatileImage提高速度 209
    10.5创建透明图像 213
    10.6使用alpha合成的规则 215
    10.7绘制精灵 222
    10.8探索不同的缩放算法 231
    10.9资源与延伸阅读 246
    第11章文本 246
    11.1理解Java字体 247
    11.2制作绘制字符串工具 251
    11.3使用文本度量进行布局 254
    11.4支持线程安全的键盘输入 265
    11.5资源和延伸阅读 271
    第12章 线程 271
    12.1使用线程实现Callable任务 272
    12.2使用线程加载文件 274
    12.3使用FakeHardware类测试 277
    12.4使用等待/通知方法 281
    12.5在游戏循环中使用线程 283
    12.6使用状态机 291
    12.7 OneShotEvent类 292
    12.8LoopEvent类 294
    12.9RestartEvent类 296
    12.10多线程事件示例 299
    12.11资源和延伸阅读 301
    第13章声音 301
    13.1操作声音文件 303
    13.2使用声音库的问题 304
    13.3开发阻塞音频类 308
    13.4用阻塞的Clip类 310
    13.5使用AudioDataLine类 314
    13.6BlockingDataLine类 320
    13.7创建一个SoundEvent类 322
    13.8使用OneShotEvent类 324
    13.9使用LoopEvent类 325
    13.10使用RestartEvent类 326
    13.11添加声音控件 331
    13.12资源和延伸阅读 339
    第14章用ANT进行开发 339
    14.1安装ANT软件 340
    14.2理解构建脚本的格式 340
    14.3学习常见ANT任务 343
    14.4构建一个可扩展的构建脚本 345
    14.5资源和延伸阅读 350
    第15章碰撞检测 351
    15.1带碰撞检测的弹球 351
    15.2使用直线参数方程 355
    15.3查找直线-矩形相交 356
    15.4查找圆-直线相交 362
    15.5查找直线-直线相交 367
    15.6计算一个反射向量 372
    15.7在一个多边形中弹回一个点 375
    15.8资源和延伸阅读 381
    第16章工具 382
    16.1创建一个游戏框架 382
    16.2更新多边形编辑器 394
    16.3绘制精灵 408
    16.4创建一个简单的粒子引擎 411
    16.5资源和延伸阅读 416
    第17章太空火箭 416
    17.1 Bullet类 417
    17.2PolygonWrapper类 418
    17.3Particle类 421
    17.4Asteroid类 422
    17.5AsteroidFactory类 425
    17.6AsteroidExplosion类 428
    17.7Ship类 430
    17.8ShipFactory类 435
    17.9ShipExplosion类 437
    17.10添加游戏常量 438
    17.11Acme类 439
    17.12GameState类 440
    17.13Score类 441
    17.14QuickLooper类 441
    17.15QuickRestart类 443
    17.16HighScoreMgr类 445
    17.17管理状态 448
    17.18StateController类 449
    17.19CompleteGame类 450
    17.20GameLoading状态 453
    17.21AttractState类 458
    17.22PressSpaceToPlay模式 461
    17.23HighScore状态 461
    17.24GameInformationState类 462
    17.25LevelStarting状态 463
    17.26LevelPlaying状态 464
    17.27GameOver状态 470
    17.28EnterHighScoreName状态 471
    17.29创建构建脚本 476
    17.30资源和延伸阅读 477
    第18章结论 477
    资源和延伸阅读 482
  • 内容简介:
    学习2D游戏开发基础,是快速积累游戏开发经验的关键。理解了2D环境的要素,将能够为游戏开发打下坚实的基础。
    本书讲解使用Java进行2D游戏开发的基础知识和基本技能。本书共18章,分为基础知识、提高技能和完整游戏3个部分,详细介绍应用编程、全屏游戏、输入处理、矩阵变换、基础物理、相交测试、碰撞检测等知识点和技能,最后采用介绍的所有概念,从头到尾开发了一款完整的游戏。 
    本书适合游戏开发的初学者阅读,尤其适合想要学习2D游戏编程基础的任何人。本书假设读者理解核心编程概念、面向对象软件以及Java编程语言,但不需要读者具备任何游戏编程的知识。
  • 作者简介:
    Timothy M. Wright是一名软件工程师,正在开发下一个美妙的独立游戏。最近10年,他都在公司的研发部门工作。此前,他是一位专业的音乐家。他获得了软件工程的学士学位,并且从事了很多年的研究和开发工作。他编写Java代码有10年以上的时间,并且之前在gamedev.net上发布了教程。在不开发游戏的时候,他喜欢钢琴爵士乐、打扑克、烹饪和酿造啤酒。
  • 目录:
    目录

    第一部分 基础知识 1
    第1章Hello World 1
    1.1使用FrameRate类 1
    1.2创建Hello World应用程序 2
    1.3使用主动渲染 4
    1.4创建定制的渲染线程 6
    1.5创建一个主动渲染的窗口 9
    1.6修改显示模式 11
    1.7全屏显示模式中的主动渲染 15
    1.8资源和延伸阅读 18
    第2章 18
    2.1处理键盘输入 19
    2.2键盘改进 23
    2.3处理鼠标输入 25
    2.4相对鼠标移动 33
    2.5资源和延伸阅读 41
    第3章变换 41
    3.1使用Vector2f类 42
    3.2使用极坐标 50
    3.3理解点和向量 55
    3.4使用矩阵变换 57
    3.5行主序矩阵和列主序矩阵 58
    3.6理解Matrix3x3f类 59
    3.7仿射变换 70
    3.8资料和延伸阅读 72
    第4章 时间和空间 72
    4.1计算时间增量 72
    4.2屏幕映射 78
    4.3调整视口高宽比 84
    4.4大炮实例 90
    4.6资料和延伸阅读 96
    第5章 简单游戏框架 96
    5.1屏幕到世界的转换 96
    5.2理解简单框架 98
    5.3使用简单框架模板 104
    5.4资源和延伸阅读 106
    第6章Vector2f更新 106
    6.1 inv( ) 106
    6.2add( ) 107
    6.3sub( ) 107
    6.4mul( ) 107
    6.5div( ) 108
    6.6len( )和lenSqr( ) 108
    6.7norm( ) 108
    6.8perp( ) 109
    6.9dot( ) 109
    6.10angle( ) 110
    6.11polar( ) 110
    6.12toString( ) 110
    6.12资源和延伸阅读 113
    第7章 相交测试 113
    7.1多边形中的点的测试 113
    7.1.1多边形特例中的点 115
    7.1.2多边形示例中的点 116
    7.2使用轴对齐边界框进行相交测试 120
    7.3使用圆形测试相交 121
    圆和AABB的重合 122
    7.4使用分隔轴方法 129
    7.5使用线段-线段的重叠方法 130
    7.6使用矩形-矩形的重叠方法 133
    7.7优化测试 137
    7.8资源和延伸阅读 137
    第8章 游戏原型 138
    8.1创建一个多边形包装类 138
    8.2创建一个原型小行星 145
    8.3创建一个原型编辑器 149
    8.4用原型小行星工厂生产小行星 153
    8.5原型Bullet类 159
    8.6原型Ship类 160
    8.7编写原型游戏 165
    第9章文件和资源 172
    9.1理解Java如何处理文件和目录 172
    9.2理解输入/输出流 174
    9.3创建Resources.jar文件进行测试 179
    9.4将资源放到类路径上 181
    9.5制作资源加载工具包 184
    9.6利用Java属性 186
    9.7XML文件概览 191
    9.8资源和延伸阅读 199
    第10章图像 199
    10.1学习Java中的颜色 199
    10.2了解不同的图像类型 200
    10.3执行颜色插值 205
    10.4使用VolatileImage提高速度 209
    10.5创建透明图像 213
    10.6使用alpha合成的规则 215
    10.7绘制精灵 222
    10.8探索不同的缩放算法 231
    10.9资源与延伸阅读 246
    第11章文本 246
    11.1理解Java字体 247
    11.2制作绘制字符串工具 251
    11.3使用文本度量进行布局 254
    11.4支持线程安全的键盘输入 265
    11.5资源和延伸阅读 271
    第12章 线程 271
    12.1使用线程实现Callable任务 272
    12.2使用线程加载文件 274
    12.3使用FakeHardware类测试 277
    12.4使用等待/通知方法 281
    12.5在游戏循环中使用线程 283
    12.6使用状态机 291
    12.7 OneShotEvent类 292
    12.8LoopEvent类 294
    12.9RestartEvent类 296
    12.10多线程事件示例 299
    12.11资源和延伸阅读 301
    第13章声音 301
    13.1操作声音文件 303
    13.2使用声音库的问题 304
    13.3开发阻塞音频类 308
    13.4用阻塞的Clip类 310
    13.5使用AudioDataLine类 314
    13.6BlockingDataLine类 320
    13.7创建一个SoundEvent类 322
    13.8使用OneShotEvent类 324
    13.9使用LoopEvent类 325
    13.10使用RestartEvent类 326
    13.11添加声音控件 331
    13.12资源和延伸阅读 339
    第14章用ANT进行开发 339
    14.1安装ANT软件 340
    14.2理解构建脚本的格式 340
    14.3学习常见ANT任务 343
    14.4构建一个可扩展的构建脚本 345
    14.5资源和延伸阅读 350
    第15章碰撞检测 351
    15.1带碰撞检测的弹球 351
    15.2使用直线参数方程 355
    15.3查找直线-矩形相交 356
    15.4查找圆-直线相交 362
    15.5查找直线-直线相交 367
    15.6计算一个反射向量 372
    15.7在一个多边形中弹回一个点 375
    15.8资源和延伸阅读 381
    第16章工具 382
    16.1创建一个游戏框架 382
    16.2更新多边形编辑器 394
    16.3绘制精灵 408
    16.4创建一个简单的粒子引擎 411
    16.5资源和延伸阅读 416
    第17章太空火箭 416
    17.1 Bullet类 417
    17.2PolygonWrapper类 418
    17.3Particle类 421
    17.4Asteroid类 422
    17.5AsteroidFactory类 425
    17.6AsteroidExplosion类 428
    17.7Ship类 430
    17.8ShipFactory类 435
    17.9ShipExplosion类 437
    17.10添加游戏常量 438
    17.11Acme类 439
    17.12GameState类 440
    17.13Score类 441
    17.14QuickLooper类 441
    17.15QuickRestart类 443
    17.16HighScoreMgr类 445
    17.17管理状态 448
    17.18StateController类 449
    17.19CompleteGame类 450
    17.20GameLoading状态 453
    17.21AttractState类 458
    17.22PressSpaceToPlay模式 461
    17.23HighScore状态 461
    17.24GameInformationState类 462
    17.25LevelStarting状态 463
    17.26LevelPlaying状态 464
    17.27GameOver状态 470
    17.28EnterHighScoreName状态 471
    17.29创建构建脚本 476
    17.30资源和延伸阅读 477
    第18章结论 477
    资源和延伸阅读 482
查看详情
相关图书 / 更多
Java 2D游戏编程入门
Java研发自测入门与进阶
林宁、魏兆玉
Java 2D游戏编程入门
Java语言程序设计(2023年版)全国高等教育自学考试指导委员会
全国高等教育自学考试指导委员会
Java 2D游戏编程入门
Java项目开发实战(微视频版)
陈强
Java 2D游戏编程入门
Java+OpenCV案例佳作选
姚利民
Java 2D游戏编程入门
Java核心编程技术(第4版微课版新世纪应用型高等教育软件专业系列规划教材)
张屹、蔡木生 编
Java 2D游戏编程入门
Java Web及其框架技术
陈振兴
Java 2D游戏编程入门
JavaScript多线程编程实践
(美)托马斯 亨特二世(Thomas Hunter II),(加拿大)布莱恩 英格利什(Bryan English)
Java 2D游戏编程入门
Java开发坑点解析:从根因分析到最佳实践
朱晔
Java 2D游戏编程入门
Java面向对象程序设计(题库·微课视频版)
梁胜彬 主编 渠慎明 白晨希 马华蔚 甘志华 程素营 副主编
Java 2D游戏编程入门
Java核心技术速学版(第3版)
(美)凯·S.霍斯特曼(Cay S. Horstmann)
Java 2D游戏编程入门
Java程序设计(微课版新世纪应用型高等教育计算机类课程规划教材)
李月辉、李慧 编
Java 2D游戏编程入门
Java到Kotlin:代码重构指南
(英)邓肯·麦格雷戈(Duncan McGregor)
您可能感兴趣 / 更多
Java 2D游戏编程入门
语言恶女:女性如何夺回语言
[美]阿曼达·蒙特尔/著李辛/译
Java 2D游戏编程入门
过劳:好工作是如何变坏的
[美]艾琳·L.凯利(Erin;L.Kelly;[美]菲利斯·莫恩((Phyllis;Moen
Java 2D游戏编程入门
进阶书系-国际史的技艺
[美] 马克·特拉亨伯格
Java 2D游戏编程入门
爵士乐史(精装本)
[美]泰德·乔亚 著
Java 2D游戏编程入门
作家榜名著:夏日走过山间(王芳推荐版本!与《瓦尔登湖》齐名的经典名作!心浮气躁想要逃离现实生活?让大自然的神奇力量瞬间治愈你!)
[美]约翰·缪尔、作家榜经典名 著;刘子超 译
Java 2D游戏编程入门
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
Java 2D游戏编程入门
作家榜名著:菊与刀全译本(一本书讲透日本人的矛盾性格!全新未删节插图版《菊与刀》!特别收录4000多字导读 +12幅彩插!)
[美]鲁思·本尼迪克特、作家榜经典名 著;何谦 译
Java 2D游戏编程入门
大学技术转移与学术创业:芝加哥手册(精装典藏版)
[美]艾伯特·N. 林克(Albert N. Link);[美]唐纳德·S. 西格尔(Donald S. Siegel);[英]麦克·赖特(Mike Wright)
Java 2D游戏编程入门
数学侦探 游乐园里的古怪笑脸
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
Java 2D游戏编程入门
读懂经济学:提升“财商”、塑造价值观念的经济学读本,一本书参破瞬息万变的经济世界底层逻辑!
[美]霍华德·亚鲁斯 著;赵善江 译;斯坦威 出品
Java 2D游戏编程入门
数学侦探 神秘路线上的连环追踪
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
Java 2D游戏编程入门
陶瓷创意造型新技法(陶艺学习系列丛书)
[美]黛布·施瓦茨科夫 著,张靖靖 译