XNA 4.0 学习指南(Learning XNA 4.0)样章 9.1_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > XNA 4.0 学习指南(Learning XNA 4.0)样章 9.1

XNA 4.0 学习指南(Learning XNA 4.0)样章 9.1

 2011/1/11 8:57:32  裴小星  http://xxing22657-yahoo-com-cn.javaeye.com  我要评论(0)
  • 摘要:第18章多人游戏本书的前面几章中讨论了创建真实的人工智能的困难。之前我们仅接触到了一点点的人工智能,而实际运用在最新版游戏中的复杂算法已经超出了本书的范围。到目前为止,您可能已经认识到了模拟人类玩家是多么困难的一件事。在许多情况下,它是如此的复杂,对于游戏来说是完全不可能的。您偶尔会玩一下RTS(即时战略)游戏,里面电脑玩家基本都不做什么防备,或者玩一下足球模拟游戏,无论调用什么进攻方式,每次都只用一个防守方式阻拦进攻
  • 标签:学习

第18章 多人游戏

?

  本书的前面几章中讨论了创建真实的人工智能的困难。之前我们仅接触到了一点点的人工智能,而实际运用在最新版游戏中的复杂算法已经超出了本书的范围。到目前为止,您可能已经认识到了模拟人类玩家是多么困难的一件事。在许多情况下,它是如此的复杂,对于游戏来说是完全不可能的。
  您偶尔会玩一下RTS(即时战略)游戏,里面电脑玩家基本都不做什么防备,或者玩一下足球模拟游戏,无论调用什么进攻方式,每次都只用一个防守方式阻拦进攻。这也是多人游戏为什么这么受欢迎的原因之一—没有什么能比得上跟一个真实存在的人类对打。说别人的坏话,打败对方,以及打赢游戏后的那种骄傲感都能带来无限的乐趣,而多人游戏真的可以成瘾。
  本节中,我们将讨论在您的游戏中实现多人游戏功能的不同方法。首先,我们来学习如何在游戏上添加分屏显示功能,然后我们将试着用XNA框架联网API建立一个新游戏。


?

分屏显示功能

?

  在您的游戏上添加多人游戏功能的一种方法是在一个显示器(适用于PC)或电视(适用于Xbox 360)上实现分屏显示。分屏显示通常支持一个,两个,三个,或四个玩家同时在一台机器上进行游戏。
当在游戏中实现分屏显示时,您需要考虑以下几个因素:
  输入控制
  通常,您需要支持Xbox 手柄输入,因为您也不想让两个,三个或四个人都挤在一个键盘前。
  摄像机与角度
  您可能会为每个玩家都准备一个独立的摄像机。您需要考虑摄像机的角度,怎样才能让玩家看到最好的动作场景。
  面积
  当您试着把多个屏幕挤进一个屏幕的时候,屏幕面积就显得十分珍贵。如果正在进行双人游戏,哪种屏幕分配运行起来会更有效?并排还是上下?
  当在XNA中描绘场景时,图形设备中有一个叫做Viewport的属性在本书中还未被提及过。Viewport属性实际上是一个矩形,表示图形设备绘制场景时的屏幕坐标。默认情况下,Viewport被设置为客户端窗口的尺寸,从而使图形设备在整个游戏窗口上进行描绘。
  通过更改图形设备的Viewport实现分屏显示,然后多次(每个玩家对应一个)描绘一个特定的场景,以玩家的视角作为摄像机描绘场景。
  那听起来好像有很多信息,但是不要被吓倒了。看一下图18-1中双人游戏分屏显示的视图。


?

?

图18-1 典型的双人游戏分屏显示设置

?

  为了描绘出一个双人游戏设置的典型垂直堆叠,如图18-1所示,您需要为每个玩家都创建一个视口(viewport),它将包含屏幕坐标,用来表示为这些玩家描绘的区域。
  在您的Draw方法中,需要首先针对整个屏幕调用GraphicsDevice.Clear。这将清除中间的缓冲区。您在Clear方法中指定的颜色就是两个分屏幕之间的边界颜色。

注意
发表评论
用户名: 匿名