¿Cuál es la mejor manera de dibujar “botones” personalizables en un videojuego?

StackOverflow https://stackoverflow.com/questions/7017

  •  08-06-2019
  •  | 
  •  

Pregunta

Estoy buscando ideas sobre cómo dibujar un "botón" personalizable en una aplicación de juego.Si uso una imagen no vectorial de sprite fija para el fondo del botón, entonces no puedo dimensionar el botón fácilmente.Si escribo código para dibujar un botón de tamaño variable (como se dibujan los botones de Windows), entonces el programador tiene que involucrarse, y eso dificulta el diseño.Otra opción es dividir el botón en 9 imágenes más pequeñas (3x3) y estirarlas todas, algo así como las esquinas redondeadas en HTML.

¿Existe otra forma "más fácil"?¿Cuál es el mejor enfoque?

¿Fue útil?

Solución

Si realmente quieres lograr esto, la forma de hacerlo es con coordenadas de textura.Al igual que haría un diseño de panel/botón extensible en HTML con una tabla, simplemente define las coordenadas UV para las esquinas, el área estirable superior, el área estirable inferior, las áreas estirables laterales y luego el medio.

Para ver un ejemplo de cómo esto se implementa en un motor XNA (aunque es un motor de código cerrado), vea esto:http://www.flatredball.com/frb/docs/index.php?title=SpriteFrame_Tutorial

Otros consejos

Sí.Estoy trabajando en un editor.Es un lenguaje similar a XAML (o similar a OpenLaszlo, si lo prefiere) para XNA.Por lo tanto, el editor puede cambiar el tamaño de los botones.También se puede cambiar el tamaño de los botones mediante una hoja de estilo.

Supongo que tienes razón en que es probable que todos los botones tengan el mismo tamaño en un diseño real.Pero incluso en una aplicación de ventana, a veces es necesario ensanchar un botón para acomodar el texto.

Debería ser posible con sombreadores.Probablemente tendría que realizar búsquedas de texel, pero reduciría la cantidad de triángulos en una interfaz de usuario compleja.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top