






















2.6问题解答
希望本章不会有太多的难题。本章主要接触了两个主要问题:单元测试和Sprites。或许在Xbox 360上运行游戏您还有些问题,我已经在第一章的结尾处写了一些提示和技巧,您可以去看看。
另外一个问题是理解为什么会抛出异常,并且要如何解决它。大多数人都不会有这样的问题,但对于少数不熟悉异常尤其是XNA异常的人来说却是个问题。您要紧盯着异常,查看完整的堆栈跟踪,看看是否有带有详细描述信息的内部异常。
就像托管的DirectX,有时您会遇到底层DirectX Framework异常,而且有时候会很混乱,您可以到Internet和MSDN查找对应错误代码的帮助信息。在这些情况下,上下文信息(Context)要比具体的错误信息本身更重要,比如,在编译一个Shader失败之后您会得到很奇怪的错误代码,此时您应该检查Shader文件是否存在,是否能够被正确编译,您的硬件是否能够处理它,而不是努力去理解这些错误代码是什么意思。您可以使用Nvidia的FX Composer工具来检查Shader文件是否有效。
如果您在使用单元测试的时候遇到问题,您可以看看下一章的“问题解答”部分,那里讲了很多关于单元测试的问题。而且要记住,此处您使用的单元测试和标准的程序没有什么区别,您要像对待最终的应用程序一样对它们进行调试并一步步地跟踪。
最后是一些在XNA中使用Sprites的提示:
width = graphics.GraphicsDevice.Viewport.Width;
height = graphics.GraphicsDevice.Viewport.Height;
graphics.PreferredBackBufferWidth = 1280;
graphics.PreferredBackBufferHeight = 720;
2.7本章摘要
我希望您能喜欢本章中的内容,并掌握创建游戏的整个过程。Pong可能并不是最好玩的游戏,但它涵盖了对于任何一个游戏项目来说都可能包含的从头至尾的所有东西。对于大一些的游戏项目,只用一章的篇幅是讲不完的,但在这里您至少已经学习了一些概念、单元测试以及一些敏捷方法学的基本术语。下一章要学习辅助类的设计,然后再深入研究Game类和游戏组件,这之后,您就可以准备写一个包含很多非常酷的特效的3D引擎,它将在本书最后一部分使用XNA写一个大的、好玩的游戏时用到。同时,您还将学习一些其他的小的、但好玩的游戏项目。 本章最重要的一点是敏捷开发给游戏编程带来的好处。即使您可以即时地对游戏做一些修改,有一个非常容易的、严谨的方式来解决问题,但先做一个游戏构思——哪怕只有一页纸那么多,仍然很重要。另外,单元测试也很有帮助,不过在下一章中您将看到单元测试还可以自动化地完成,并且对于本书中其他项目都要使用的一些辅助类来说单元测试也很有用。 看一看在本章中您学到的内容:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。