Como hobby, he estado trabajando en la reconstrucción de un videojuego antiguo, y quiero evitar reinventar la rueda siempre que sea posible. El juego está basado principalmente en GUI, pero la GUI necesita ser personalizada en términos de apariencia, y también necesita trabajar con 3D OpenGL para algunas pantallas de juego.Qt library for 2D/3D game development
Para darles una idea, aquí está una captura de pantalla del prototipo inicial:
Hay una gran cantidad de animación utilizada y 3D también, pero los widgets de interfaz gráfica de usuario se comportan de manera muy parecida a la de una norma aplicación de escritorio.
Hasta ahora, he estado usando mi propia biblioteca GUI (no es robusta o completa, y he estado teniendo algunos problemas).
He estado considerando migrar a Qt dada su reputación y características impresionantes, y algunas de las bonitas capturas de pantalla en el sitio web de Qt. Pero nunca antes había usado Qt, así que realmente no tengo una idea de lo que es capaz de hacer, o qué tipo de inversión de tiempo se requeriría para aprenderlo. (Nota que he usado FLTK).
Mi pregunta es: ¿sería posible/práctico usar Qt en esta situación?
ACTUALIZACIÓN: Después de burlar algunas pantallas de juego en Qt, he decidido no usarlo. Aunque es compatible con muchas de las funciones que necesito desde el primer momento (especialmente a través de Hojas de estilo), necesito admitir fuentes preimpresas personalizadas basadas en mapas de bits (no puedo convertirlas ni reemplazarlas). Y no puedo subclasificar QFont, o volver a implementarlo sin que se rompa en futuras versiones de Qt. Dicho esto, quedé muy impresionado con Qt (tanto por su facilidad de uso como por su buena documentación). Tomaré prestadas algunas de sus características para mi propio motor. Gracias a todos los que contribuyeron.
La respuesta simple es sí, es posible/práctico usar Qt en esta situación. Para obtener una respuesta más efectiva, puede considerar hacer una pregunta más detallada o enumerar algunas de las dudas que pueda tener sobre Qt. – Brady
Eche un vistazo a la arquitectura 'QGraphicsView' /' QGraphicsScene', debería estar cerca de lo que busca. – cmannett85
Gracias chicos. Bueno, nunca he usado Qt, así que mi principal preocupación es pasar mucho tiempo aprendiéndolo para descubrir que no puedo hacer lo que necesito. La clase QGraphicsView parece ser compatible con algunas de las características que necesito. Otra característica de ejemplo que necesito es botones no rectangulares, p. Ej. con bordes inclinados (mi código actual usa una máscara de imagen para aceptar/rechazar eventos del mouse). ¿Qt fácilmente permitirá tales hazañas? – QuasarDonkey