2011-09-04 16 views
3

我正在使用XNA在C#中進行項目工作。當遊戲運行時,有一種方法可以實時繪製某些變量的值。 (只是爲了調試,我不希望在最終的項目中的圖形。)實時繪製變量以在C中進行調試#

這似乎喜歡的事,可能已經做過,但我找不到比這以外的任何其他:

http://devmag.org.za/2011/02/09/using-graphs-to-debug-physics-ai-and-animation-effectively/

我願意編寫自己的系統或使用別人的系統。如果有一個已經發布的項目,我想找到它,所以我不必重新發明輪子。如果不是,什麼是處理這個問題的最好方法?

謝謝!

回答

0

您可以將想要檢查的值寫入csv文件,然後用excel繪製圖形。 Here是關於在C#中編寫csv文件編寫器/解析器的教程。

XNA不支持繪製單行/像素直接屏幕(需要通過SpriteBatch)。我能想到的唯一的事情就是使用texture2D並在其上繪製圖形的像素。儘管如此,您仍然必須將相機的紋理保留在相機的前方,但我並不瞭解其中的一些奇怪的矩陣魔法。 :P

+0

謝謝。我真的在尋找一種方法來實時做到這一點。我希望能夠在遊戲運行時觀看變量。 – Computerish

0

你也許可以使用XNA編寫一個非常簡單的系統。

您應該有一些用來繪製線條非常簡單:

public void DrawLine(Point first, Point second); 

運行該系統的每一幀上收集變量的值。跟蹤以前的值。

在先前值與當前值之間繪製一條線。

如果採樣頻率足夠高,你可以得到一個非常像樣的圖像。

0

Xen圖形API具有此功能。這似乎是對一些內置的變量,如FPS,但它的所有開源的,所以我懷疑它會很容易添加自己的圖表:

我只記得,Farseer物理也http://xen.codeplex.com/

編輯有代碼可以做到這一點http://farseerphysics.codeplex.com/。比Xen圖表更容易被撕掉。

相關問題