2011-09-20 76 views

回答

3

XNA是一个框架用于制作游戏,目前是Windows Phone SDK的一部分。 (这个名字有点误导 - 你可以制作PC,Xbox 360和手机平台的程序,但是MS最近决定更多地推动手机市场)。框架通常表明需要足够的编程知识,并且很少进行“拖放”工作。

该框架的设计已经从头开始用于游戏,尽管最近它也已经适用于Windows Phone 7应用程序。也就是说,它为内置定时器,精灵渲染和复杂的数学函数等游戏提供了很多帮手功能。这让程序员有更多的时间专注于渲染,音频等游戏逻辑和更复杂的实现。因此,对于有经验的程序员来说,很容易就能够更快地潜入并创建游戏,但它并不是限制性的,它不会一直握住你的手。可用的各种引擎显示XNA的灵活性。最好的引擎非常强大,能够生成AAA级图形,并且还有专用于音频(如Xact内置)或物理(如BEPU或LibJigX)的引擎。

3

XNA是一个游戏库。

游戏库在代码级别。它包装了一大堆有用的图形,声音和其他游戏相关的代码(类,方法等),供您在代码中调用和集成。您仍然在为您的游戏设计整个代码(类,方法等),但拥有一个有用的库使其更加方便(更多 - 这种方式您不必与图形卡通信直)。 XNA有一些相当复杂的帮手代码,就像它会为你创建广告牌矩阵一样,但即使如此......你仍然有责任将帮助代码放在正确的位置。

游戏引擎基本上是您正在使用的应用程序。你可以定义某些参数,它们通常会提供大量的自由度和灵活性(通常通过脚本语言)和可以完成的任务,但最终你并没有编写游戏的基本代码。这意味着你只能走得太远,改变很多。你不能混淆游戏循环,你不能为某些低级别的事情编写自己的算法(不知道他们让你改变什么,可能每个引擎都不相同)。他们会自动处理大量的碰撞和东西......但这意味着自由的限制。

+0

因此,XNA游戏工作室是一种游戏sdk?和游戏引擎包装起来,并提供一些自定义用户界面的视觉工作室? – thReality

+0

我可能已经将游戏引擎整合到了Visual Studio中,但是不,XNA不是游戏引擎。你可以在XNA中编写一个。 – 2011-09-20 09:20:51

0

取决于你的意思是“在线”。

如果你的意思是基于浏览器 - 那么NO。 Flash/Silverlight/Unity是要走的路。

如果你的意思是在线互动,那么Yes - 你的游戏将是一个在客户端运行的XNA应用程序。请注意,在这种情况下,客户/用户“必须”在基于Windows的环境(PC/Win电话)上。