2016-06-29 7 views
0

xamarimのurhosharpゲームエンジンを使用してクロスプラットフォームゲームを開発しています....これは本当に良い選択で、WPFとの互換性がありましたが、形状を描く方法はわかりませんでした。ガイドやドキュメンテーションを通して、サークル、丸みを帯びた形、輪、または誰でも知っているか、私を助けてくれる任意の幾何学的な形を描く方法を見つけられませんでした。私は非常に感謝されます 。UrhoSharpでサークルまたはラインを描く方法

おかげで、事前

に私は、コードのこの部分を試みたが、何の円が画面に登場していない:

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); 

答えて

1

ちょうど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); 
    } 
} 
+0

は、3D空間でプリミティブを描画する唯一の方法ですか? – user1912383

関連する問題