Estoy tratando de cambiar el tamaño de la ventana de mi juego Java, que usa la biblioteca LWJGL. Según algunas preguntas del foro que datan de 2007, esto solo es posible con una solución alternativa. ¿Sigue siendo así hoy? ¿Y cuál es el camino a seguir?¿Cómo puedo hacer que una ventana LWJGL sea redimensionable?
Respuesta
La pantalla nativa de LWJGL no se puede cambiar de tamaño. Sin embargo, es fácil de lograr, simplemente utiliza un Marco AWT y usando Display.setParent (Canvas) pegue su contenido LWJGL en él para obtener una ventana redimensionable.
Recibí una respuesta similar en el canal de IRC de LWJGL. gracias por la respuesta aquí :) El que me ayudó con él también mostró una implementación de este método en uno de sus propios programas. Para los interesados, puede encontrarlo aquí: http://hg.l33tlabs.org/twlthemeeditor/file/tip/src/de/matthiasmann/twlthemeeditor/Main.java – Bartvbl
La clase de pantalla tiene la opción de habilitar el cambio de tamaño. http://lwjgl.org/javadoc/org/lwjgl/opengl/Display.html#setResizable(boolean)
Puede obtener la anchura y la altura en cualquier momento con getWidth()
y getHeight()
.
De hecho. Esto fue agregado recientemente como una nueva característica. Recomiendo encarecidamente usar este método en lugar del antiguo "canvas". – Bartvbl
Si está utilizando LWJGL 2.9 puede llamar
Display.setResizable();
Esto permitirá que la ventana se cambia de tamaño.
Luego, antes de actualizar la pantalla, haga esto.
if (Display.wasResized()) GL11.glViewport(0, 0, Display.getWidth(), Display.getHeight());
Esto cambiará la ventana gráfica para que sea del tamaño de la pantalla si se cambió el tamaño.
Sin medios para toparse, pero para aquellos que encuentran esta pregunta, esta es (actualmente) la mejor respuesta hasta la fecha. – finnrayment
- 1. en Qt, ¿cómo puedo hacer que una ventana sea la ventana actual?
- 2. ¿Cómo puedo hacer que una ventana sea invisible para los eventos del mouse en WPF?
- 3. ¿Cómo puedo hacer que una ventana Acerca de sea la ventana más frontal en una aplicación Cocoa sin UI?
- 4. ¿Cómo puedo hacer que una tabla sea desplazable
- 5. ¿Cómo puedo hacer que una UITextView no sea seleccionable?
- 6. ¿Puedo hacer que una ventana X11 sea compatible con OpenGL después de haber sido creada?
- 7. Forma de hacer que una ventana WPF sin ventana sea arrastrable sin obtener InvalidOperationException
- 8. ¿Puedo hacer que un TTreeNode sea invisible?
- 9. ¿Puedo hacer que JUnit sea más detallado?
- 10. ¿Desea hacer que un NSAlert sea la ventana superior?
- 11. ¿Cómo puedo hacer que la ventana de la API de Win32 sea más moderna?
- 12. ¿Cómo hacer que NSTableView sea transparente?
- 13. Cómo hacer que TimePicker sea más pequeño
- 14. ¿Puedo hacer que la autenticación SSH sea rápida?
- 15. ¿Puedo hacer que una carpeta sea editable en Medium trust?
- 16. ¿Cómo puedo hacer que esta clase sea IEnumerable?
- 17. ¿Cómo puedo hacer que mi aplicación sea secuenciable en C#?
- 18. ¿Cómo puedo hacer que este código python sea menos feo
- 19. cómo puedo hacer que este código sea más optimizado
- 20. Python: ¿cómo puedo hacer que este código sea asíncrono?
- 21. borde de ventana no redimensionable y posicionamiento
- 22. ¿Cómo puedo hacer que el directorio sea editable?
- 23. ¿cómo puedo hacer que el color de Valdator sea rojo?
- 24. ¿Cómo puedo hacer que mi colisión sea más sólida?
- 25. ¿Cómo hacer la última gtk.TreeViewColumn redimensionable?
- 26. Hacer que una lista enlazada sea segura
- 27. ¿Cómo hacer que el archivo sea escaso?
- 28. ¿Cómo puedo hacer que los comandos de movimiento de ventana ignoren una ventana determinada?
- 29. ¿Cómo hacer una herramienta de selección de rectángulo redimensionable?
- 30. Cómo hacer que strpos sea insensible
ACTUALIZACIÓN: LWJGL ha agregado en las últimas versiones un grupo de llamadas a la clase Display que le permiten hacer que la ventana se pueda redimensionar y maximizar. Puedo recomendar ese método sobre usar un combo canvas/JFrame. – Bartvbl