LibGDX - Gdx.graphics.getWidth()如何返回显示表面的宽度?

4

我希望了解更多关于LibGDX内部世界的内容。

例如在Graphics.java文件中,我找到了以下代码:

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

然而,我找不到getWidth()方法的源代码。

我在哪里可以找到getWidth()方法的源代码?

2个回答

5

每个可用的后端/平台都有一个不同的接口实现。

例如,在 LWJGL 后端中,实现如下:

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

实际实现再次委托给AWT Canvas或LWJGL Display。
这种接口背后的一般思想可以在LibGDX中的任何地方找到。您也可以自己编写特定于平台的代码。在wiki中有介绍。

4

从libgdx文档(Graphics.java)中:

该接口封装了与图形处理器的通信。 根据可用硬件和当前应用程序配置,提供对GL20GL30的访问。

基本上,Graphics.java代表一个接口。在实现接口的所有类中,getWidth方法是一个抽象方法,需要进行重写。

如果您想查看getWidth方法内部的代码,您需要查看实现Graphics接口的其中一个类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接