出版时间:2011-9 出版社:清华大学 作者:里德 页数:479 译者:龙吟晖
Tag标签:无
内容概要
本书注重实践,是一本非常理想的XNA
4.0游戏编程教材。针对Web开发新手难以掌握的XNA关键概念,本书以一种直观易懂的风格引导读者迅速进入角色。每章提供课程(包含示意图和范例)、复习题和练习,旨在帮助初学者学习新的技能并学以致用。本书主题包括:通过2D动画、3D摄像与效果来学习游戏开发;深入高级着色语言(HLSL)和基本的人工智能概念;运用2D,3D和多玩家技术构建三个完整而激动人心的游戏;为Xbox
360和Windows Phone 7开发和部署游戏。
完成本书的学习后,读者将完全掌握开发复杂游戏的整个过程。
作者简介
作者:(美国)里德(Aaton Reed) 译者:龙吟晖 里德(Aaton Reed),拥有丰富的软件开发经验和相关教育经验,懂得如何教书育人。从2004年以来,他在犹他州的Neumont大学主讲.NET、Web开发和Web服务、XNA、系统设计与架构等课程,对于DirectX和XNA大学课程,他非常清楚教学中的难点和重点。
书籍目录
第1章 XNA4.0新特性
第2章 基础知识
第3章 好玩的精灵
第4章 用户输入和碰撞检测
第5章 面向对象设计的应用
第6章 音效和音频
第7章 基本人工智能
第8章 打造完整游戏
第9章 3D游戏开发
第10章 3D模型
第11章 创建第一人称摄像机
第12章 3D碰撞检测与射击
第13章 HLSL基础
第14章 粒子系统
第15章 完善3D游戏
第16章 部署到Xbox360
第17章 Windows Phone7游戏开发
第18章 多人游戏
附录 小测验和练习参考答案
章节摘录
版权页: 插图: 坐标系统 处理3D图形时,要注意的第一个区别是增添了额外的一维。听起来似乎没什么,但许多人都没有真正思考过这一点。我希望我没有把你弄得晕头转向,但从2D转向3D是需要一定时间来熟悉的,而且经常都会把人搞晕。 在XNA中编写2D游戏就像是在画布上作画:是在一个二维平面上绘图,屏幕左上角坐标是(0,0),X轴向右是正向,Y轴向下是正向。 如果说2D绘图像是在画布上作画,那么3D绘图就像是用一台手持式摄像机拍摄视频。3D空间的定位要依赖一个三维坐标系统。这个坐标系统有时称为“世界空间”,原点是(0,0,0)。然而,和2D绘图不同的是,在3D空间的原点绘制某个物体时,不能保证该物体出现在屏幕中心、左上角或者其他任何地方。为什么呢?这是因为在3D中有两个基本组件用于绘制一个场景:将物体放到世界中,再将摄像机放到世界中,并指定摄像机对准哪个方向。只有摄像机看到的物体才会在屏幕上可见。 取决于摄像机位置及其指向,3D游戏中在原点绘制的一个物体可能出现在屏幕中心,屏幕底部,屏幕上的其他地方,甚至可能完全跑出屏幕。 在深入那个主题之前,先来讨论一下3D坐标系统。如果你熟悉3D坐标系统,会注意到X轴一般向右是正向,Y轴向上是正向。然而,2轴的定义就不是这么清晰了。存在两种不同类型的3D坐标系统,两者的2轴正向刚好相反。2轴的哪一个方向为正向,就决定了坐标系统的方向(orientation),或者称为左右手习惯(handedness)。这两种3D坐标系统分别称为左手坐标系统和右手坐标系统。区分左右手坐标系统的一个办法是伸出你的手,掌心向上,手指指向x轴的正向。然后向Y轴正向弯曲这些手指。此时,大拇指的方向就是那只手的坐标系统的Z轴正向。如图9.2所示。 XNA使用右手坐标系统。这意味着从传统的角度看原点(在这个角度中,x向右是正向,Y向上是正向),Z向着你是正向。 摄像机 理解了坐标系统后,接着研究一下摄像机。前面说过3D绘图就像是用一台摄像机拍摄视频。必须定义摄像机的位置、它的指向及其他各种属性。这些属性存储在一个Matrix(矩阵)对象中。矩阵是很复杂的数学实体,对它的详尽解释超出了本书的范围。目前只需知道,矩阵是在3D图形领域中做几乎任何事情的核心。幸好,XNA会在幕后处理一切复杂的矩阵细节,你目前不需要关心它具体是如何工作的,只需知道一两个矩阵能代表一个摄像机。
媒体关注与评论
“《学习XNA游戏编程》精彩地介绍了XNA游戏开发世界,能引导读者成为游戏开发高手并爱上游戏编程。” ——Ryan Hair,Neumont大学学生 “《学习XNA游戏编程》是一个非常出色的起点,它让我们毫不犹豫地继续深入华丽的游戏开发世界。” ——EmmanueITabarly,法国游戏与交互媒体研究生院学生
编辑推荐
《学习XNA游戏编程(中文版)》将引导你立即着手XNA4.0游戏开发,不要求你有任何游戏开发经验。尽管XNA有几个关键概念对初学者而言有些难,但《学习XNA游戏编程(中文版)》能够以一种直观易懂、循序渐进的方式引导读者迅速开始进行XNA开发。每章提供图文并茂的课程,同时辅之以小测验和练习,旨在帮助读者学以致用,练习新的技能。完成《学习XNA游戏编程(中文版)》的学习后,读者将完全掌握开发复杂游戏的整个过程。
图书封面
图书标签Tags
无
评论、评分、阅读与下载