Dessine un Rectangle dans MonoGame
Comment dessiner des formes, telles que des Rectangles et des Cercles, dans MonoGame sans avoir à sauvegarder la forme prédessinée dans le dossier de Contenu?
Méthode drawrectangle() et DrawEllipse() sont pour Windows et ne fonctionne pas en OpenGL, qui est ce que j'utilise.
Vous devez vous connecter pour publier un commentaire.
MODIFIER
Vous pouvez apprendre des choses de base pour MonoGame avec des tutoriels que j'ai mis sur GitHub : https://github.com/aybe/MonoGameSamples
D'utiliser la 3D primitives et une projection en 2D
Voici un exemple simple avec des explications
Je définir un rectangle de 10 x 10 et de définir le monde de la matrice pour la faire ressembler à une projection en 2D :
Remarque : le
BasicEffect
est ce qui attire votre primitifJe dessine ensuite l'ensemble de la chose 😀
Là, vous avez votre rectangle !
Maintenant, c'est juste la pointe de l'iceberg,
Ou comme mentionné dans l'un des postes ci-dessus, vous pourriez utiliser un shader qui fait à la place ...
Je devais dessiner un Superellipse il y a un moment et finit par esquisser ce shader :
Dessin d'un SuperEllipse en HLSL
Comme vous pouvez le voir dans le post un Superellipse non seulement attire l'ellipse, mais également d'autres formes, et peut-être même des cercles (je n'ai pas tester) de sorte que vous pourriez être intéressé par.
En fin de compte, vous voulez un peu de classe ou de méthodes pour cacher tous ces détails, donc vous avez juste à appeler quelque chose comme
DrawCircle()
.Astuce : en publiant @ https://gamedev.stackexchange.com/ vous obtiendrez probablement plus de réponses pour Monogame à des questions liées à
😀
The data is ordered as a sequence of line segments; each line segment is described by one new vertex and the last vertex from the previous line seqment. The count may be any positive integer.
. Vertex 1 et 2 d'un segment de ligne, vertex 2 et 3, vertex 3 et 4... ne le 4e segment de ligne besoin d'un 5e sommet connecter avec vertex 4?4
la méthode connue de boucle sur le tableau pour le dessin de la dernière bande, en utilisant le dernier et le premier sommet.Si vous avez besoin pour créer un rectangle en 2D, tu peux faire ça:
Peut-être un peu plus facile que Aybe de répondre à certaines situations. Cela crée un rectangle plein.