我想知道在C#中使用XNA开发游戏而不使用它的性能。我可以不使用PictureBox而不是2D纹理吗?使用Windows Form编程进行游戏是否可行?还是XNA是最佳解决方案?任何优点/缺点?C#:XNA vs无XNA(性能)
回答
您的游戏越复杂,您发现可持续WinForms开发的可能性就越小。 XNA面向这种事情,所以为什么不使用它? “你想让我的游戏运行在Windows Phone 7,XBOX 360和/或Windows桌面上吗?”如果你的答案是肯定的,那么学习XNA。最好的事情是它可以让你针对这些不同的平台做大部分工作。
我推荐收听Scott Hanselman最近播客的主题:Hanselminutes Podcast 240 - Developing Indie Games for Xbox 360 and XNA with George Clingerman。
这取决于你游戏的图形复杂程度。
如果你想学习一个好的图书馆,可以用高质量的图形制作高端游戏,可以使用XNA;它会为你的味道打开更多的品种。
但是如果你想制作一个简单的不滚动的,类似俄罗斯方块的纸牌游戏,那么双缓冲的.NET控件就可以做到这一点。
如果你正在寻找最佳性能,你不应该看c#或XNA,在这方面你越低越好。但是,较低的级别意味着您将花费更多时间在编程上,而获得较少的结果。
XNA的开发使游戏编程变得简单。它需要很多繁琐的低级编码,并用简单的方法打包给我们,以便我们不必重新处理轮子,同时仍然利用非常强大的框架。
我强烈建议如果您有兴趣制作游戏,请使用XNA。我想你会比其他选择更受欢迎。
我知道放弃我很有趣,但那些一直在做这件事的人可否提供一些推理?如果可以提供学习,我想将您的选票作为学习体验。谢谢=) – 2010-11-22 14:23:02
迈克,我的猜测是你的第一句话可能会遇到错误的方式。实际上,当我阅读它时,我几乎期待在最后看到C++被提及:)尽管如此,我并没有发现整体响应存在问题,所以有一个+1来抵消downvote! – 2010-11-22 14:59:07
谢谢!对不起。我只是重读它,它太戏剧化了。我的意思不是要打击C#或XNA,如果这样做是非常抱歉冒犯了任何人。在性能方面,托管代码的开销会比原来的更高。我会尽力让下一次更加清楚感谢艾哈迈德的领导! – 2010-11-22 22:48:30
使用XNA。除了有显著更好的性能,更好的支持平台(Xbox 360游戏机,Windows Phone的),其他的API美好的事物般的声音和输入处理,其中有一个很重要的原因:
XNA是“立竿见影”式的API (而不是保留的;参见this description)。
用这种类型的API开发游戏是显着eaiser。原因是,没有太深入的了解,在保留的API中,您必须确保外部场景与您的游戏状态保持同步。这是单调乏味并且容易出错的(相信我,我已经完成了)。
- 1. XNA游戏性能
- 2. XNA窗口缩放性能
- 3. XNA粒子系统性能
- 4. WP7上的XNA性能
- 5. XNA - 剔除性能问题
- 6. XNA性能降级GameStateManagement
- 7. C#Winform XNA Collision
- 8. C#XNA Rectangle
- 9. Jint + XNA(C#)
- 10. 无法安装XNA
- 11. C#XNA SpriteBatch为空?
- 12. C#XNA Texture2D.SetData矩形?
- 13. XNA C#HUD SpriteFont类
- 14. C#XNA生成MIDI
- 15. C#Winform/XNA问题
- 16. C#XNA球移动
- 17. C#XNA低帧率
- 18. 使用C#和XNA
- 19. wp7 xna中的随机性能细分?
- 20. WP7上的XNA性能和设置
- 21. C#/ XNA扩展设置实例属性
- 22. C#XNA可访问性不一致
- 23. 学习XNA 3.1对XNA 4.0
- 24. Xna(C#)和C++的网络?
- 25. C#XNA例外:“无法打开文件”
- 26. 与XNA
- 27. 与XNA
- 28. XNA ContentLoadException
- 29. 从XNA
- 30. 不能我gametime归零XNA
简单的2D游戏XNA是一个伟大的和易于学习的工具。但是当你想制作真正大型的3D游戏时,我推荐像[Unity](http://unity3d.com/unity/)这样的其他框架,它可以提供更好的性能 – harry180 2012-07-27 09:11:51
只需要注意,Unity不是像XNA这样的框架,而是“工具“ – 2013-09-15 02:58:23