2010-11-21 95 views
3

我想知道在C#中使用XNA開發遊戲而不使用它的性能。我可以不使用PictureBox而不是2D紋理嗎?使用Windows Form編程進行遊戲是否可行?還是XNA是最佳解決方案?任何優點/缺點?C#:XNA vs無XNA(性能)

+0

簡單的2D遊戲XNA是一個偉大的和易於學習的工具。但是當你想製作真正大型的3D遊戲時,我推薦像[Unity](http://unity3d.com/unity/)這樣的其他框架,它可以提供更好的性能 – harry180 2012-07-27 09:11:51

+1

只需要注意,Unity不是像XNA這樣的框架,而是「工具「 – 2013-09-15 02:58:23

回答

10

您的遊戲越複雜,您發現可持續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

8

這取決於你遊戲的圖形複雜程度。
如果你想學習一個好的圖書館,可以用高質量的圖形制作高端遊戲,可以使用XNA;它會爲你的味道打開更多的品種。
但是如果你想製作一個簡單的不滾動的,類似俄羅斯方塊的紙牌遊戲,那麼雙緩衝的.NET控件就可以做到這一點。

3

如果你正在尋找最佳性能,你不應該看c#或XNA,在這方面你越低越好。但是,較低的級別意味着您將花費更多時間在編程上,而獲得較少的結果。

XNA的開發使遊戲編程變得簡單。它需要很多繁瑣的低級編碼,並用簡單的方法打包給我們,以便我們不必重新處理輪子,同時仍然利用非常強大的框架。

我強烈建議如果您有興趣製作遊戲,請使用XNA。我想你會比其他選擇更受歡迎。

+0

我知道放棄我很有趣,但那些一直在做這件事的人可否提供一些推理?如果可以提供學習,我想將您的選票作爲學習體驗。謝謝=) – 2010-11-22 14:23:02

+0

邁克,我的猜測是你的第一句話可能會遇到錯誤的方式。實際上,當我閱讀它時,我幾乎期待在最後看到C++被提及:)儘管如此,我並沒有發現整體響應存在問題,所以有一個+1來抵消downvote! – 2010-11-22 14:59:07

+0

謝謝!對不起。我只是重讀它,它太戲劇化了。我的意思不是要打擊C#或XNA,如果這樣做是非常抱歉冒犯了任何人。在性能方面,託管代碼的開銷會比原來的更高。我會盡力讓下一次更加清楚感謝艾哈邁德的領導! – 2010-11-22 22:48:30

6

使用XNA。除了有顯著更好的性能,更好的支持平臺(Xbox 360遊戲機,Windows Phone的),其他的API美好的事物般的聲音和輸入處理,其中有一個很重要的原因:

XNA是「立竿見影」式的API (而不是保留的;參見this description)。

用這種類型的API開發遊戲是顯着eaiser。原因是,沒有太深入的瞭解,在保留的API中,您必須確保外部場景與您的遊戲狀態保持同步。這是單調乏味並且容易出錯的(相信我,我已經完成了)。