Saltar al contenido
CrossFly es 100% open sourceSíguenos en GitHub
CrossFlyCrossFly
Empezar

Esta página fue traducida automáticamente del portugués y puede contener errores. La versión en portugués es la canónica.

Desktop (LWJGL3) 🖥️

Empieza siempre por el desktop: es el bucle de iteración rápida. No hay hot-reload de Java, pero el cold start es de segundos — validas la UI antes de sufrir con los ciclos de build móvil.

Ejecutar

gradlew :lwjgl3:run

El Lwjgl3Launcher crea la aplicación: new Main(true, getCommandline(args)) — canStart=true levanta la UI de inmediato. mainClassName = dev.crossfly.lwjgl3.Lwjgl3Launcher.

Título, tamaño y rotación

Main.setDesktopTitle("Minha App");   // solo tiene efecto en desktop
main.rotate();                        // simula rotación (intercambia width/height) en desktop

Las dimensiones y la escala vienen de Screen (Screen.width/height/scale/minSize).

⚠️ Dos prerrequisitos del desktop

  • crossfly-lib (JNI) debe estar en el java.library.path — el Main.create() llama a SharedLibraryLoader.load("crossfly-lib") en el arranque (en todos los destinos, excepto WebGL).
  • macOS exige la flag de la JVM -XstartOnFirstThread (requisito de LWJGL3/GLFW en Mac). Sin ella, la app no abre ventana.

Diagnóstico

  • El handler global de excepciones canaliza los fallos (ver Errores y logging).
  • Debug.showFPS = true para ver la tasa de fotogramas.
  • Genera capturas de pantalla (doc/tienda): Main.getScreenShot(true).toPng("prefixo_").

Buenas prácticas

  • Desarrolla y valida la UI en el desktop; ve al móvil solo cuando la pantalla esté lista.
  • Prueba la rotación (rotate()) y distintos tamaños de ventana para comprobar la responsividad.

Errores comunes

  • Olvidar -XstartOnFirstThread en macOS (la ventana no abre).
  • crossfly-lib fuera del java.library.path (falla en el arranque).

Ver también

¿Te resultó útil esta página?