我正在使用xamarim的urhosharp游戏引擎开发一个跨平台游戏.这确实是一个很好的选择,与WPF兼容,但我不知道如何绘制形状,我查阅了指南和文档,没有找到一种可能绘制圆圈、圆形、环形或其他任何人知道或可以帮助我的几何类型的方法。我将非常感激。
预先感谢
我试过这段代码,但屏幕上没有出现圆圈:
DebugRenderer debug = new DebugRenderer();
debug.AddCircle(new Vector3(50,50,0),new Vector3(100,25,0),50,Color.Magenta,2 ,true );
for (int i = 0; i < 512; ++i)
{
var start = new Vector3(i, 0, 0);
var end = new Vector3(i, 100, 0);
debug.AddLine(start, end, Color.White, false);
debug.AddCircle(start, end, 50f, Color.Red, i, false);
}
scene.AddComponent(debug);发布于 2016-08-04 12:07:07
请注意,DebugRenderRender是用于调试的。如果您想使DebugRenderer工作,您需要像这样订阅PostRenderUpdate:
Engine.SubscribeToPostRenderUpdate(args => YourMethodHandler);通常你会在你的设置中这样做。然后YourMethodHandler就像:
protected void YourMethodHandler()
{
// this requires that you have already added a DebugRenderer
// component in your scene object
var debugRenderer = scene.GetComponent<DebugRenderer>();
if (debugRenderer != null)
{
// do your drawing code here
// to draw a rectangle for example:
var upperBound = new Vector3(-4.0f, 2.0f, 0.0f);
var lowerBound = new Vector3(4.0f, -2.0f, 0.0f);
debugRenderer.AddBoundingBox(
new BoundingBox(upperBound, lowerBound),
Color.White,
false);
}
}发布于 2018-06-02 15:35:29
更确切地说,只有在这样实现时,它才能起作用:
var dr = app.Scene.GetOrCreateComponent<DebugRenderer>();
app.Engine.PostRenderUpdate += (arg4) => {
app.Renderer.DrawDebugGeometry(false);
};
app.Renderer.BeginViewRender += (arg5) => {
dr.AddBoundingBox(new BoundingBox(-1000, 1000), Color.Blue);
dr.LineAntiAlias = true;
dr.AddTriangle(new Vector3(2,0,0), new Vector3(2,1,0), new Vector3(2,0,1), Color.Magenta, false);
dr.AddCircle(new Vector3(2,0,0), new Vector3(1,1,1), 5.0f, Color.Red);
};https://stackoverflow.com/questions/38096719
复制相似问题