2008-08-10 10 views
0

Je cherche des idées sur la façon de dessiner un "bouton" skinnable dans une application de jeu. Si j'utilise une image non-vectorielle de sprite fixe pour l'arrière-plan du bouton, je ne peux pas dimensionner le bouton facilement. Si j'écris du code pour dessiner un bouton redimensionnable (comme les boutons Windows sont dessinés), alors le programmeur doit s'impliquer - et cela rend l'habillage difficile. Une autre option est de casser le bouton en 9 images plus petites (3x3) et de les étirer tous - comme si les coins arrondis étaient faits en HTML.Quel est le meilleur moyen de dessiner des "boutons" skinnables dans un jeu vidéo?

Existe-t-il un autre moyen "plus facile"? Quelle est la meilleure approche?

Répondre

2

Si vous voulez vraiment accomplir cela, la manière de le faire est avec les coordonnées de texture. Tout comme vous créez un bouton/panneau extensible en HTML avec une table, vous définissez simplement les coordonnées UV pour les coins, la zone étirable supérieure, la zone extensible inférieure, les zones extensibles latérales, puis le milieu.

Pour un exemple de cet être mis en œuvre dans un moteur XNA (si c'est un moteur source fermé), voir ceci: http://www.flatredball.com/frb/docs/index.php?title=SpriteFrame_Tutorial

0

Oui. Je travaille sur un éditeur. C'est un langage de type XAML (ou de type OpenLaszlo, si vous préférez) pour XNA. Les boutons peuvent donc être redimensionnés par l'éditeur. Les boutons peuvent également être redimensionnés par une feuille de style.

Je suppose que vous avez raison, il est probable que les boutons auront tous la même taille dans un vrai design. Mais même dans l'application d'une fenêtre, vous avez parfois besoin de faire un bouton plus large pour accueillir le texte.

0

Il devrait être possible avec les shaders. Vous auriez probablement à faire des recherches de texel, mais cela réduirait le nombre de triangles dans une interface utilisateur complexe.

Questions connexes