Java 5 游戏编程
基本信息
内容简介回到顶部↑
书籍
计算机书籍
本书系统介绍用java进行游戏开发的技术与过程。通过一个逐步扩展和丰富的游戏实例galactic war来主导学习过程,从而覆盖游戏开发的方方面面。.
本书集趣味性、直观性、可操作性于一体,适合作为游戏编程初学者的参考书。
如果你对开发休闲游戏市场的游戏感兴趣,那么准备好开始吧。这本针对初学者的指南,通过让你创建一款具备漂亮的美术效果和复杂细节的游戏,来一路提高游戏开发的水平。..
本书不是一本java编程语言的入门指南,而是使用java进行游戏编程的一本入门图书。从创建简单java程序和编写图形代码的基础,到使用java高级2d库和添加声音效果与音乐,本书一步一步地讲解将能够帮助你获得开发专业品质的。基于精灵的游戏所需的所有技能。...
计算机书籍
本书系统介绍用java进行游戏开发的技术与过程。通过一个逐步扩展和丰富的游戏实例galactic war来主导学习过程,从而覆盖游戏开发的方方面面。.
本书集趣味性、直观性、可操作性于一体,适合作为游戏编程初学者的参考书。
如果你对开发休闲游戏市场的游戏感兴趣,那么准备好开始吧。这本针对初学者的指南,通过让你创建一款具备漂亮的美术效果和复杂细节的游戏,来一路提高游戏开发的水平。..
本书不是一本java编程语言的入门指南,而是使用java进行游戏编程的一本入门图书。从创建简单java程序和编写图形代码的基础,到使用java高级2d库和添加声音效果与音乐,本书一步一步地讲解将能够帮助你获得开发专业品质的。基于精灵的游戏所需的所有技能。...
作译者回到顶部↑
本书提供作译者介绍
Jonathan S.Harbour 位于亚利桑那州Tempe的高级技术大学的游戏开发资深讲师。他在大学教授多门课程,从手持游戏机到家庭游戏机到游戏引擎。他著有三本新版游戏图书《DarkBASIC Pro Game Programming,Second Edition》《Beginning Game Programming,Second Edition》和《Game Programming All In One,Third Edition》。.
李强 国内知名软件公司产品经理,多年来致力于医疗信息化系统的开发,在Java和.Net编程方面颇有心得。曾在计算机报刊、杂志发表过多篇文章,并有多本计算机译著出版。2005年,.. << 查看详细
李强 国内知名软件公司产品经理,多年来致力于医疗信息化系统的开发,在Java和.Net编程方面颇有心得。曾在计算机报刊、杂志发表过多篇文章,并有多本计算机译著出版。2005年,.. << 查看详细
目录回到顶部↑
译者序.
前言
第一部分 java编程入门
第1章 java 5入门
1.1 游戏产业新动向
1.2 休闲游戏的兴起
1.2.1 休闲游戏玩家
1.2.2 休闲游戏
1.3 java游戏
1.3.1 不需要java开发经验
1.3.2 开发工具
1.3.3 安装最新的jdk
1.3.4 版本号和修订灾难
1.3.5 从命令行编译
1.4 编写第一个java程序
1.4.1 drinkjava程序
1.4.2 appletizer程序
本章小结
复习题
练习题
前言
第一部分 java编程入门
第1章 java 5入门
1.1 游戏产业新动向
1.2 休闲游戏的兴起
1.2.1 休闲游戏玩家
1.2.2 休闲游戏
1.3 java游戏
1.3.1 不需要java开发经验
1.3.2 开发工具
1.3.3 安装最新的jdk
1.3.4 版本号和修订灾难
1.3.5 从命令行编译
1.4 编写第一个java程序
1.4.1 drinkjava程序
1.4.2 appletizer程序
本章小结
复习题
练习题
译者序回到顶部↑
现代生活节奏的加快,使人们往往没有大块时间玩大型游戏。但也许你每天都玩休闲游戏,而且不会花很长时间。正因为如此,休闲游戏受到广大玩家的青睐,并且迅速流行起来。休闲游戏并没有像MMORPG(大型多玩家角色扮演网络游戏)那样复杂和耗时,但是却吸引了更多的用户群及家庭用户。.
由于用Java编写的applet游戏可以在浏览器中运行,所以Java具备了编写休闲类游戏的优势。本书通过Java语言来讲授如何进行游戏编程,但并不重点介绍Java语言本身。本书着重介绍使用Java开发在Web浏览器中运行的休闲游戏的技能和方法。
那么本书有什么特点呢?
首先,本书非常适合于游戏编程的初学者。对于初学者来说,Java语言是学习游戏编程的一种不错的工具。学习Java本身并不难,所以使用Java编写applet游戏也比较容易,而且生动有趣。..
其次,本书通过一个逐步扩展和丰富的游戏实例Galactic War作为学习的主线,进而覆盖游戏开发的各个方面。Galactic War是一个可以在Web浏览器中运行的applet游戏。书中各章对该游戏的扩展可以向读者展示游戏开发中丰富而实用的技巧。
本书的作者Jonathan S. Harbour是一名游戏开发资深讲师,他在游戏编程方面具有丰富的经验,并且编写了多本游戏开发的图书。由于作者熟知游戏开发的技术要点和讲解技巧,因此深受读者的好评。
很高兴有机会翻译这样一本好书并介绍给广大读者。本书由李强、李振和苏南负责主要翻译工作,参与翻译工作的还有关志兴、王建勇、毛立涛、闫柳青、姜巧生、沈海峰、谢扣林、刘志飞。在这里,对所有译者以及机械工业出版社华章分社的编辑表示衷心的感谢。同时,欢迎读者通过电子邮件herolizhen@hotmail.com 和译者探讨、交流游戏编程领域的知识。...
李强
2006年8月
由于用Java编写的applet游戏可以在浏览器中运行,所以Java具备了编写休闲类游戏的优势。本书通过Java语言来讲授如何进行游戏编程,但并不重点介绍Java语言本身。本书着重介绍使用Java开发在Web浏览器中运行的休闲游戏的技能和方法。
那么本书有什么特点呢?
首先,本书非常适合于游戏编程的初学者。对于初学者来说,Java语言是学习游戏编程的一种不错的工具。学习Java本身并不难,所以使用Java编写applet游戏也比较容易,而且生动有趣。..
其次,本书通过一个逐步扩展和丰富的游戏实例Galactic War作为学习的主线,进而覆盖游戏开发的各个方面。Galactic War是一个可以在Web浏览器中运行的applet游戏。书中各章对该游戏的扩展可以向读者展示游戏开发中丰富而实用的技巧。
本书的作者Jonathan S. Harbour是一名游戏开发资深讲师,他在游戏编程方面具有丰富的经验,并且编写了多本游戏开发的图书。由于作者熟知游戏开发的技术要点和讲解技巧,因此深受读者的好评。
很高兴有机会翻译这样一本好书并介绍给广大读者。本书由李强、李振和苏南负责主要翻译工作,参与翻译工作的还有关志兴、王建勇、毛立涛、闫柳青、姜巧生、沈海峰、谢扣林、刘志飞。在这里,对所有译者以及机械工业出版社华章分社的编辑表示衷心的感谢。同时,欢迎读者通过电子邮件herolizhen@hotmail.com 和译者探讨、交流游戏编程领域的知识。...
李强
2006年8月
前言回到顶部↑
本书将教你如何编写在Web浏览器中运行的Java游戏,其目标是针对休闲游戏市场开发游戏。游戏编程是一个富有挑战性的内容,它不仅难以掌握,而且难以入门。本书将循序渐进地介绍游戏编程的每一步,从而揭开游戏编程的神秘面纱。本书假设你有一些Java编程经验,但是即便你以前从来没有用过Java,只要有一本Java入门教材或参考书,那么你也应该能够跟上。本书并不教你Java语言。.
首先,将介绍如何编写一个简单的Java程序。然后,讲解如何编写在Web浏览器中运行的Java程序的细节。我将对那些容易理解的代码进行解释,而且步调保证让你跟得上。当你学习了足够的知识后,就可以编写一个简单的游戏。你将会看到一个简单的基于矢量的游戏,它从前到后不断地演化,最后在本书结束时发展成为一款基于精灵的游戏。本书不是在谈论半生不熟的、赶时髦的、模拟式的游戏,而是一款具有专业品质、可以在休闲游戏市场上销售的游戏。
如今,有成百上千的休闲游戏玩家从很多休闲游戏网站(如www.realarcade.com)付费下载此类游戏。通过学习如何开发休闲游戏,你可以为从事游戏行业打下基础,为微软的Xbox Live Arcade开发游戏或者从事其他商业游戏开发工作。
本书可作为从事这些事业的起步。你是否喜欢这个主题,而且愿意学习吗?作为游戏开发的高级讲师,我每天受到那些吃饭、喝水和呼吸都离不开视频游戏的学生的挑剔。我不想开发拙劣的游戏,或者说,我自始至终就没听说过这类游戏。
因此,本书想要教你最先进的游戏开发技术,就像我给现实课堂里的学生讲授的技术一样。实际上,本书将用做我自己的授课教材。因此,你肯定会在本书内容中学到高质量的内容,而不会浪费时间。如果你是一位考虑把本书用做你的Java课程教材的教师,本书还提供了教学辅导材料,包括PowerPoint课件。可以浏览本书的Web站http://www.courseptr.com或者访http://www.jharbour.com/begjava5来获得最新的信息和勘误。除了这些Web页面,我的站点上还有一个讨论论坛,你可以在这里讨论Java游戏编程并获得有关编程问题的帮助。
你将在本书学到什么
本书将介绍Java应用程序和Java applet之间的不同(后者在Web浏览器中运行)。你还将学到有关Java图形类的内容,并可以开始编写图形代码。你还将学习如何从用户那里获取输入,以及如何播放声音效果和音乐,这些内容都是在网络游戏的环境中需要的。从此,你可以在游戏的世界中畅游。图Ⅰ显示了你将要在本书中学习开发的游戏。从基础开始(我这里谈论的就非常基础),学习使用矢量图形(即线条和实心多边形)编写一个简单的2D游戏。
图Ⅰ你将学习如何从头开发一款游戏
每一章都将介绍一门新的技术,例如,如何载入位图文件并使用Graphics和Graphics2D类来把它绘制到2D applet窗口中,如何最终把游戏相关的类都放入一个事件驱动的游戏库中,以便于使用。正如图Ⅰ所示,最终的游戏使用一些吸引人的画面并且充满很多细节。本书将逐步介绍简单的位图、精灵,然后进入到动画。在这一过程中,你将学会如何使用Java的高级2D库来按照任何方向旋转图形,并且我将向你展示一些代码,它们用来在屏幕上平滑而逼真地移动子弹、加油、小行星和其他游戏对象。最终的结果是一个包含强大功能的、专业的基于精灵的游戏引擎。通过学习如何开发这款具有专业品质的休闲游戏,你将学会足够的知识来创建自己的、适合在休闲游戏市场上销售的游戏(在Web上玩)。
本书致力于教授基本的游戏编程技能,覆盖很多内容,因此,你需要随时准备行动。我使用一个轻松的编写方式让内容更易于理解,并且使用重复而不是回忆来帮助你加深记忆。你将通过实践学习,并且任何内容都不需要艰难地学习,因为你将在本书中多次遇到每一项内容。第11章中开发的游戏框架提及前面各章的内容,因此,推荐你一次阅读一章,按照顺序进行,从而完整地理解所有的内容。
如果你略掉这章或那章,将无法理解后面各章中的代码的某些部分,或者,你可能会对某些代码如何工作感到困惑。本书所使用的代码都是在第一次时就说明它是如何工作的,并且通常不会重复说明,因为本书要以轻快的步伐前进。本书已经在有限的篇幅里包含了很多内容,因此,建议你从头到尾每次阅读一章。..
你应该使用哪个编译器
本书使用Java语言,并且所有的示例代码都用JDK 15版Release 6来编译。当然,更新的JDK版本也可以毫无问题地编译本书中的代码,但是较早版本的JDK可能会无法编译程序。因此,建议你http://java.sun.com下载最新的版本的JDK来获得最好的编译效果。你可以使用javac.exe程序来编译本书中的程序,并且可以使用appletviewer.exe在任何平台上(Windows、Linux和Mac)运行程序。
本书也使用一个专业的IDE——Borland JBuilder 2005,我认为这是编写Java程序的最佳工具。本书说明了如何使用Foundation版,可以从Borlandhttp://www.borland.com/downloads/download_jbuilder.html网站免费下载。
如果你拥有JBuilder 2005或者JBuilder 2006的完整版,或者任何其他的完整的IDE,那么应该能够编译和运行本书中的程序,因为本书的代码都是标准Java源代码。在编写本书时,JBuilder 2005 Foundation可以从www.borland.com免费下载并使用(用于非商业用途或教育用途),而JBuilder 2006的试用版也已经发布。本书光盘中也包含JBuilder 2006的30天试用版。我已经使用JBuilder较早的版本测试了本书中的代码,没什么问题。
关于编程语言
本书的核心工具是Java语言,可是,本书并非Java语言的入门教程。本书是使用这一功能强大的高级语言来编写游戏。示例程序和源代码都是基于Java的。因此,阅读本书需熟练掌握Java。我们在本书中讨论游戏编程内容,而不讲解基本的Java编程。
如果你是初次接触Java语言,那么,你可能会对本书中的代码感到困难。如果你已经掌握Java,那么,你将能够读懂本书中的Java代码并且理解其中的含义。但是本书不会花太多的时间教授任何有关Java语言的基础知识,因为没有足够的篇幅同时既介绍Java语言又讲解游戏编程概念。
本书是有关游戏编程的,假设你至少已经知道一些Java知识。建议你在阅读本书前,阅读一本Java入门书,或者在手边保留一本Java参考书以备查看。初学者可以选择Joseph P. Russell的《Java Programming for the Absolute Beginner》(Course Technology PTR)。如果本书进度太快使你无法跟上,这里先向你道歉,主要是因为没有足够的篇幅既讲解Java又构建一款完整的游戏。
本书体例
首先,将介绍如何编写一个简单的Java程序。然后,讲解如何编写在Web浏览器中运行的Java程序的细节。我将对那些容易理解的代码进行解释,而且步调保证让你跟得上。当你学习了足够的知识后,就可以编写一个简单的游戏。你将会看到一个简单的基于矢量的游戏,它从前到后不断地演化,最后在本书结束时发展成为一款基于精灵的游戏。本书不是在谈论半生不熟的、赶时髦的、模拟式的游戏,而是一款具有专业品质、可以在休闲游戏市场上销售的游戏。
如今,有成百上千的休闲游戏玩家从很多休闲游戏网站(如www.realarcade.com)付费下载此类游戏。通过学习如何开发休闲游戏,你可以为从事游戏行业打下基础,为微软的Xbox Live Arcade开发游戏或者从事其他商业游戏开发工作。
本书可作为从事这些事业的起步。你是否喜欢这个主题,而且愿意学习吗?作为游戏开发的高级讲师,我每天受到那些吃饭、喝水和呼吸都离不开视频游戏的学生的挑剔。我不想开发拙劣的游戏,或者说,我自始至终就没听说过这类游戏。
因此,本书想要教你最先进的游戏开发技术,就像我给现实课堂里的学生讲授的技术一样。实际上,本书将用做我自己的授课教材。因此,你肯定会在本书内容中学到高质量的内容,而不会浪费时间。如果你是一位考虑把本书用做你的Java课程教材的教师,本书还提供了教学辅导材料,包括PowerPoint课件。可以浏览本书的Web站http://www.courseptr.com或者访http://www.jharbour.com/begjava5来获得最新的信息和勘误。除了这些Web页面,我的站点上还有一个讨论论坛,你可以在这里讨论Java游戏编程并获得有关编程问题的帮助。
你将在本书学到什么
本书将介绍Java应用程序和Java applet之间的不同(后者在Web浏览器中运行)。你还将学到有关Java图形类的内容,并可以开始编写图形代码。你还将学习如何从用户那里获取输入,以及如何播放声音效果和音乐,这些内容都是在网络游戏的环境中需要的。从此,你可以在游戏的世界中畅游。图Ⅰ显示了你将要在本书中学习开发的游戏。从基础开始(我这里谈论的就非常基础),学习使用矢量图形(即线条和实心多边形)编写一个简单的2D游戏。
图Ⅰ你将学习如何从头开发一款游戏
每一章都将介绍一门新的技术,例如,如何载入位图文件并使用Graphics和Graphics2D类来把它绘制到2D applet窗口中,如何最终把游戏相关的类都放入一个事件驱动的游戏库中,以便于使用。正如图Ⅰ所示,最终的游戏使用一些吸引人的画面并且充满很多细节。本书将逐步介绍简单的位图、精灵,然后进入到动画。在这一过程中,你将学会如何使用Java的高级2D库来按照任何方向旋转图形,并且我将向你展示一些代码,它们用来在屏幕上平滑而逼真地移动子弹、加油、小行星和其他游戏对象。最终的结果是一个包含强大功能的、专业的基于精灵的游戏引擎。通过学习如何开发这款具有专业品质的休闲游戏,你将学会足够的知识来创建自己的、适合在休闲游戏市场上销售的游戏(在Web上玩)。
本书致力于教授基本的游戏编程技能,覆盖很多内容,因此,你需要随时准备行动。我使用一个轻松的编写方式让内容更易于理解,并且使用重复而不是回忆来帮助你加深记忆。你将通过实践学习,并且任何内容都不需要艰难地学习,因为你将在本书中多次遇到每一项内容。第11章中开发的游戏框架提及前面各章的内容,因此,推荐你一次阅读一章,按照顺序进行,从而完整地理解所有的内容。
如果你略掉这章或那章,将无法理解后面各章中的代码的某些部分,或者,你可能会对某些代码如何工作感到困惑。本书所使用的代码都是在第一次时就说明它是如何工作的,并且通常不会重复说明,因为本书要以轻快的步伐前进。本书已经在有限的篇幅里包含了很多内容,因此,建议你从头到尾每次阅读一章。..
你应该使用哪个编译器
本书使用Java语言,并且所有的示例代码都用JDK 15版Release 6来编译。当然,更新的JDK版本也可以毫无问题地编译本书中的代码,但是较早版本的JDK可能会无法编译程序。因此,建议你http://java.sun.com下载最新的版本的JDK来获得最好的编译效果。你可以使用javac.exe程序来编译本书中的程序,并且可以使用appletviewer.exe在任何平台上(Windows、Linux和Mac)运行程序。
本书也使用一个专业的IDE——Borland JBuilder 2005,我认为这是编写Java程序的最佳工具。本书说明了如何使用Foundation版,可以从Borlandhttp://www.borland.com/downloads/download_jbuilder.html网站免费下载。
如果你拥有JBuilder 2005或者JBuilder 2006的完整版,或者任何其他的完整的IDE,那么应该能够编译和运行本书中的程序,因为本书的代码都是标准Java源代码。在编写本书时,JBuilder 2005 Foundation可以从www.borland.com免费下载并使用(用于非商业用途或教育用途),而JBuilder 2006的试用版也已经发布。本书光盘中也包含JBuilder 2006的30天试用版。我已经使用JBuilder较早的版本测试了本书中的代码,没什么问题。
关于编程语言
本书的核心工具是Java语言,可是,本书并非Java语言的入门教程。本书是使用这一功能强大的高级语言来编写游戏。示例程序和源代码都是基于Java的。因此,阅读本书需熟练掌握Java。我们在本书中讨论游戏编程内容,而不讲解基本的Java编程。
如果你是初次接触Java语言,那么,你可能会对本书中的代码感到困难。如果你已经掌握Java,那么,你将能够读懂本书中的Java代码并且理解其中的含义。但是本书不会花太多的时间教授任何有关Java语言的基础知识,因为没有足够的篇幅同时既介绍Java语言又讲解游戏编程概念。
本书是有关游戏编程的,假设你至少已经知道一些Java知识。建议你在阅读本书前,阅读一本Java入门书,或者在手边保留一本Java参考书以备查看。初学者可以选择Joseph P. Russell的《Java Programming for the Absolute Beginner》(Course Technology PTR)。如果本书进度太快使你无法跟上,这里先向你道歉,主要是因为没有足够的篇幅既讲解Java又构建一款完整的游戏。
本书体例








点击看大图




加载中...


