我正在使用XNA在C#中开展一个项目。有一种方法可以在游戏运行时实时绘制某些变量的值。 (仅用于调试,我不想在最终项目中使用图形。)
这似乎是以前可能已经完成的事情,但我找不到除此之外的任何东西:
http://devmag.org.za/2011/02/09/using-graphs-to-debug-physics-ai-and-animation-effectively/
我愿意编写自己的系统或使用别人的系统。如果有一个现有的已发布项目,我想找到它,所以我不必重新发明轮子。如果不是,那么最好的办法是什么?
谢谢!
答案 0 :(得分:0)
您可以在csv文件中编写要检查的值,然后使用excel绘制图形。 Here是在C#中编写csv文件编写器/解析器的教程。
XNA不支持直接绘制单行/像素(需要通过SpriteBatch)。我唯一能想到的是使用texture2D并在其上绘制图形的像素。你必须保持相机前面的纹理,有一些奇怪的矩阵魔法,我实际上并不知道。 :P
答案 1 :(得分:0)
您可以使用XNA编写一个非常简单的系统。
你应该有一些非常基本的绘制线条:
public void DrawLine(Point first, Point second);
在每个帧上运行此系统以收集变量的值。跟踪以前的值。
在上一个值与当前值之间画一条线。
如果采样频率足够高,你可以得到一个相当不错的图形。
答案 2 :(得分:0)
Xen图形API具有此功能。它似乎是针对某些内置变量,例如FPS,但它都是开源的,所以我怀疑添加自己的图形会很容易:http://xen.codeplex.com/
修改
我只记得Farseer物理学也有代码来执行此操作http://farseerphysics.codeplex.com/。撕掉可能比Xen图更容易。