纹理
在2D游戏开发中,纹理(texture
)的本质就是图片。不过,有时纹理的概念被扩充了,它还可以表示使用计算机制作出来的显示效果。关于这个概念,实际上不必深究。我们只需要将其理解为图片或者一种显示效果即可。在LibGDX中,创建纹理对象需要加载相应的纹理资源,纹理资源表示存储在硬盘或SD卡上的图片文件。下面代码展示了一种使用LibGDX内部文件访问机制创建纹理对象的方法:
Texture texture = new Texture("background.png");
首先,Texture
表示纹理类,那么texture
就表示该类型的一个引用变量。Texture
提供了多种重载的构造方法,上述代码使用了一个包含字符串参数的构造方法,字符串内容表示纹理(图片)资源的路径。此处的路径是指内部文件的路径,关于内部文件,稍后我们会详细介绍,现在只需要记住该路径的根目录指向各项目的assets文件夹。所以,上面的"background.png"
参数表示从assets文件夹加载background.png图片。LibGDX还提供了很多种创建纹理对象的方法,下面列举了另外两种常用的方法:
Texture texture1 = new Texture(Gdx.files.internal("background.png"));
Texture texture2 = new Texture(Pixmap pixmap);
创建texture1
时,我们首先使用GDX
的files
模块提供的internal
方法加载了内部文件background.png
,该方法将返回一个文件句柄(FileHandle
)。很明显,这里使用的Texture
构造函数需要接收一个FileHandle
参数。实际上,该方法与刚刚介绍的方法基本相同,因为接收String
类型参数的构造方法在内部也是通过创建文件句柄的方式来加载资源文件的。然而,创建texture1
的方法具有更好的扩展性,因为利用该方法,我们可以使用外部文件创建纹理对象,关于外部文件的访问方法和注意事项将在后面详细讲解。
创建texture2
需要传递一个Pixmap
实例对象。从命名就可以猜到,Pixmap
表示一个与像素相关的类。该类提供了一系列基本的绘图方法,利用这些方法我们可以在运行期在线绘制一张图形,然后将该对象传递给Texture
的构造方法创建纹理对象。在本章最后一节的Demo应用中我们将展示如何利用Pixmap
在线创建纹理对象。
下面展示了几张纹理资源,我们将会在后面的实例项目中使用它们:







