LibGDX – ¿Cómo Gdx.graphics.getWidth () devuelve el ancho de la superficie de visualización?

Quiero entender más sobre el mundo interior de LibGDX.

Por ejemplo dentro de Graphics.java , encuentro lo siguiente:

 /** @return the width in pixels of the display surface */ public int getWidth (); 

Sin embargo, no puedo encontrar el código fuente del método getWidth() .

¿Dónde puedo encontrar el código fuente del método getWidth() ?

2 Solutions collect form web for “LibGDX – ¿Cómo Gdx.graphics.getWidth () devuelve el ancho de la superficie de visualización?”

Hay una implementación diferente de esa interfaz para cada uno de los backends / plataformas disponibles.

  • AndroidGraphics : Para el backend Android.
  • LwjglGraphics : Para el backend de escritorio.
  • GwtGraphics : Para el backend del navegador
  • IOSGraphics : para el backend de iOS.
  • MockGraphics : para el servidor backend.
  • JglfwGraphics : para el backend de escritorio alternativo.

En el backend LWJGL, la implementación se ve así por ejemplo:

 public int getWidth () { if (canvas != null) return Math.max(1, canvas.getWidth()); else return (int)(Display.getWidth() * Display.getPixelScaleFactor()); } 

La implementación real se delega una vez más en el AWT Canvas o en el LWJGL Display.

La idea general detrás de este tipo de interfaces se puede encontrar en todas partes en LibGDX. También puede hacer código específico de la plataforma usted mismo. Se descibed en el wiki .

Desde los documentos libgdx (Graphics.java):

Esta interfaz encapsula la comunicación con el procesador gráfico. Dependiendo del hardware disponible y de la configuración actual de la aplicación, aquí se proporciona acceso a GL20 y GL30 .

Básicamente, Graphics.java representa una interfaz. El método getWidth es un método abstracto en la interfaz que debe anularse en todas las clases que implementan la interfaz.

Si desea ver el código dentro del método getWidth , debe buscar en una de las clases que implementan la interfaz gráfica.

  • Libgdx utiliza ScreenUtils de forma asincrónica y no detiene el bucle del juego
  • ¿Cómo hacer que la clase AndroidApplication de LibGDX admita Fragmentos de Android?
  • LibGDX texturepacker rotación
  • Cortar un cuadrado translúcido en una textura
  • Tomar la captura de pantalla en libgdx
  • Centre SelectBox texto en libgdx usando scene2d
  • Haga la lista desplazable en forma circular usando libgdx
  • El registro de LibGDX no aparece en logcat
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.