Java是跨平台的编程语言,它具有强大的网络应用功能,是开发网络游戏的重要工具之一。为了使读者全面了解网络游戏的设计理念与方法,本书从最基本的Java语法开始,对游戏的原理及其Java程序实现进行了详细介绍,内容包括动画的实现、音效的处理、鼠标和键盘事件处理、人工智能、网络联机、2D和2.5D地图,粒子系统以及3D算法等。书中着重以实例来引导读者学习游戏设计的相关技巧,利用这些技巧可以设计出千变万化的游戏。
本书作为一本以Java语言介绍网络游戏设计的入门图书,内容丰富、结构清晰、语言简练,实例具有很强的实用性和代表性,因此不仅适用于广大游戏爱好者和设计者阅读,对于Java程序员,也是一本不可多得的参考书。
第1章无限欢乐的游戏世界
1.1游戏的意义与内涵
1.1.1游戏的组成要素
1.1.2认识游戏平台
I.2游戏设计初体验
1.2.1建立游戏主题
1.2.2游戏系统的基本设定
1.2.3游戏系统的流程控制技巧
1.2.4游戏制作的完整流程
1.2.5常见游戏类型介绍
1.3漫谈游戏开发环境与程序设讨
1.3.1使用Java语言开发游戏
1.3.2Java的执行平台
1.3.3Java的执行速度
1.3.4Java的属性与功能
第2章Java快速学习
2.1开发环境的安装与设定
2.1.1J2SDK的下载与安装
2.1.2API说明文件
2.1.3简单的应用程序
2.2Java面向对象程序设计
2.2.1面向对象的基本概念
2.2.2对象
2.3Java的类语法
2.3.1定义类(Class)
2.3.2包
2.3.3类继承
2.3.4类属性成员
2.3.5类方法成员
2.3.6深入类
2.3.7接口
第3章Applet与基础绘图
3.1认识Applet
3.1.1Applet类
3.1.2Applet程序坐标与参数传递
3.1.3Applet程序的生命周期
3.2基础绘图
3.2.1使用paint()方法
3.2.2使用Graphics类绘制字符串
3.2.3Graphics类的其他绘图方法
3.2.4图形与图像的“深度”
3.3绘制图像
3.3.1图像类型的支持
3.3.2取得图像及绘制
3.3.3图像追踪
3.3.4页面切换
3.3.5制作透明背景
第4章动画的制作
4.1动画的原理
4.1.1视觉暂留
4.1.2设定合理的FPS
4.1.3动画的类型-
4.2图像的运动
4.2.1动画循环
4.2.2使用线程
4.2.3消除动画的闪烁
4.2.4使用合理的FPS-
4.2.5改善动画播放效果
4.3动画的简单实例
4.3.1游戏开头画面
4.3.2制作电子小时钟
第5章交互与声音
5.1如何和玩家交互
5.1.1事件处理机制
5.1.2如何处理事件
5.2事件的实例应用
5.2.1鼠标事件处理
5.2.2键盘事件处理
5.3声音的使用
5.3.1Java可使用的声音文件
5.3.2下载声音文件
5.3.3使用声音文件
第6章游戏动画高级制作
6.1游戏动画
6.1.1角色与动画
6.1.2角色碰撞侦测
6.1.3碰撞实例
6.1.4定义角色父类
6.1.5角色动画与帧动画结合
6.1.6贴图技巧
6.2游戏范例——“棒打猪头”
第7章强化游戏界面
7.1使用AWT组件
7.1.1认识AWT组件
7.1.2建立AWT组件实例
7.1.3版面配置
7.1.4结合Panel与LayoutManager
7.1.5处理AWT组件的事件
7.2网页游戏界面
7.2.1使用网页特效
7.2.2输入参数到Applet中
7.3实现范例——“棒打猪头”v2.0
第8章浅谈人工智能与2.5D游戏
8.1浅谈人工智能
8.1.1何谓人工智能
8.1.2基本的人工智能概念
8.1.3游戏难度设定
8.2浅谈2.5D游戏
第9章绘图算法
9.1粒子系统
9.1.1烟火粒子
9.1.2瀑布粒子
9.1.3烟粒子
9.1.4烟火树与喷泉
9.1.5雪花粒子
9.2立体绘图与旋转
9.2.1旋转立体五角锥
9.2.2具有远近感的立体对象
9.2.3其他立体坐标定位法
第10章扫雷
10.1游戏规划
10.1.1游戏玩法及规则
10.1.2游戏设计分析
10.1.3游戏规划注意事项
10.2游戏流程
10.3技巧应用
10.3.1地雷区状态
10.3.2自动清除空白方格
10.3.3依方格标示自动翻开
10.4程序代码说明
第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定位地图坐标
11.3.3旋转立体坐标
11.3.4绘制障碍物
11.3.5处理图像深度
11.3.6随机产生地图
11.3.7完整2.5D迷宫
第12章俄罗斯方块
12.1游戏规划
12.1.1游戏玩法及规则
12.1.2游戏设计分析
12.1.3注意事项
12.2游戏流程
12.3游戏技巧应用
12.3.1描述方块
12.3.2描述地图
12.3.3方块阻碍判断
12.3.4满行判断及删除
12.3.5控制方块自动下降
12.3.6预备方块区的土移效果
12.4游戏画面
12.5程序代码说明
第13章项目研究——天涯若比邻
13.1Java网络联机游戏
13.1.1Java网络联机基础
13.1.2取得地址信息
13.1.3使用Socket联机
13.1.4使用ServerSocket联机
13.1.5制作一对一聊天室
13.1.6使用Applet制作联机程序
13.2多人联机
13.2.1多人联机类型
13.2.2多人聊天室
13.2.3服务器端程序剖析
13.2.4客户端程序剖析
附录A游戏常见专有名词
附录B游戏类型
附录C游戏开发团队
Java是当今最热门的编程语言,它在跨平台与网络应用方面的强大功能使之非常适用于网络游戏的开发。本书以如何利用Java开发跨网络、跨平台游戏为中心,阐述了全新的网络游戏设计理念与方法。
在本书的一开始,不免俗套地先欢迎大家进入Java网络游戏设计的世界,希望本书能带给用户一些有用的程序设计观点与实现方法,
诚如大家所见,本书的主题是如何使用Java语言来开发“游戏程序”。也许用户对这样的应用主题感到陌生,亦或许根本没有接触过Java语言,但是无论是何种程度的读者,相信都能够从本书中获得各方面的帮助。
由于本书所使用的一些游戏制作观点与单机游戏是共通的,因此即使用户使用其他的程序语言来设计单机游戏,同样也可以参考本书所提到的一些算法或问题解决方案。尤其是在贴图技巧方面,无论是使用C/C++的贴图函数,还是采用VisualBasic、Delphi等程序语言,都可以将本书中的算法加以适当的修改并应用到这些程序语言中。
本书也介绍了一些“网络联机”程序设计的概念,包括一对一聊天程序、多人联机聊天程序。通过这两个游戏的架构,用户可以将类似单机游戏的Applet程序修改为联机程序,使用户所面对的游戏对手不再是冷冰冰的计算机。
本书中有几个较完整的游戏制作,用户可以通过实际制作这些游戏来了解如何将众多概念与功能组合起来,而不只是单一功能的片段印象。当面对这些功能组合时,会有一定的复杂度,此时一定要对概念十分清楚。若遇到问题,可以往前翻阅,从前面的章节中找到想要的答案。
本书收集了许多游戏设计的技术,并经过慎密的规划再通过适当的题材加以表现,所有的工作无非是为了让各位用户能在学习的过程中加深印象,也希望本书能为各位用户在Java游戏设计的领域里提供有用的方向及信息。
本书中的源程序,读者可通过http://www.tupwk.com.cn/downpage/index.asp下载。
由于作者水平有限,加之创作时间仓促,本书难免有不足之处,欢迎广大读者批评指正。
2004年6月