Zeichne einen einfachen Kreis in XNA

8

Ich möchte einen 2D, gefüllten Kreis zeichnen. Ich habe überall nachgesehen und finde nichts, was mir auch nur im Entferntesten helfen würde, einen Kreis zu zeichnen. Ich möchte einfach eine Höhe, Breite und Position auf meiner Leinwand angeben.

Wer weiß wie?

Danke!

    
George Johnston 25.03.2010, 20:56
quelle

6 Antworten

11

XNA hat normalerweise keine Vorstellung von einer Leinwand, auf die Sie malen können. Stattdessen können Sie entweder einen Kreis in Ihrem bevorzugten Malprogramm erstellen und ihn als Sprite rendern oder in einem 3D-Netz eine Reihe von Eckpunkten erstellen, um einen Kreis zu approximieren und zu rendern.

    
Jake Pearson 25.03.2010, 21:05
quelle
8

Sie könnten auch das Beispielframework sehen, das Jeff Weber in Farseer verwendet:
Ссылка

Die Demos haben einen dynamischen Texturgenerator, der es ihm ermöglicht, Kreise und Rechtecke zu erstellen (welche die Samples dann als Visualisierung der Physiksimulation verwenden). Du könntest das einfach wiederverwenden: -)

    
Joel Martinez 26.03.2010 00:27
quelle
5

Hatte das gleiche Problem, wie andere bereits vorgeschlagen haben, müssen Sie ein Quadrat oder ein Rechteck mit einer Kreistextur darauf zeichnen. Hier folgt meine Methode zum Erstellen einer Circle Texture Runtime. Nicht die effizienteste oder raffinierteste Art, es zu tun, aber es funktioniert.

%Vor%     
Anon 03.12.2013 12:34
quelle
3

In XNA gibt es dafür keine Unterstützung. Ich gehe davon aus, dass Sie von einem GDI-Hintergrund kommen und nur etwas auf dem Bildschirm sehen möchten. In einem echten Spiel ist dies selten, wenn es jemals gebraucht wird.

Hier gibt es einige hilfreiche Informationen:

Ссылка

Mein Rat an Sie wäre, einfach Farbe oder etwas anzufachen und die grundlegenden Formen selbst zu erstellen und die Inhaltspipeline zu benutzen.

    
BFree 25.03.2010 21:01
quelle
3

Es scheint hier eine Lösung mit einem Pixel-Shader zu geben - Ссылка

    
Jim Perry 26.03.2010 00:44
quelle
2

Eine andere Option (wenn Sie einen komplexeren Gradientenpinsel oder etwas anderes verwenden möchten) besteht darin, ein Quad zu zeichnen, das auf den Bildschirm ausgerichtet ist und einen Pixelshader verwendet.

    
Robert Fraser 25.03.2010 21:08
quelle

Tags und Links