本文主要为大家讲解使用libgdx时图形的绘制,文章详细介绍了图形绘制方法和步骤,大家可以细细研读。

首先了解一下何为texture。按照英文解释来理解:一个图片从原始格式解码并上传到GPU就被称为纹理。

为了绘制texture,常常使用几何来描述,通过几何对应的顶点来描述纹理。比如要描述一个矩形,可以通过描述每个顶点来描述矩形。

要绘图时,首先要绑定纹理,然后传递一个几何描述给OpenGL进行绘制。而绘图的大小和位置由几何描述和OpenGL的viewport的设置共同决定。

当然大部分的游戏都会让viewport的大小和屏幕一致。这就意味使用像素更容易让纹理绘制在合适的大小和位置。

绘制一个矩形的几何图形是非常常见的,同样让同一个纹理在不同位置以不同大小位置也是非常常见的,比如漫天的弹幕。但是每次都传递每个形状到GPU进行绘制的效率是较低的。

所以许多相同纹理可以一起描述并一起送入GPU,这就是SpriteBatch类所要做的。

SpriteBatch被赋予了纹理和坐标以便每个图形的绘制。它(SpriteBatch)汇集了很多图形而没有直接提交给GPU。如果它被赋予的纹理不同于原有的,它将保持原有的图形,并获取新的图形。

先找张图片来,分辨率必须是2的次方(如32*32,256*512)。

我截取了我的桌面的一部分,分辨率调成512*512。

Android游戏引擎libgdx使用教程2:如何绘制图形

拷贝到assets文件夹中,图片文件最好都是放在这个里面哈。

Android游戏引擎libgdx使用教程2:如何绘制图形

然后修改代码

private Texture texture;

实例化texture,texture=new Texture(Gdx.files.internal("image1.jpg"));然后来说一下为什么要将图片放在assets文件夹中。 Gdx.files是libgdx的文件模块,主要提供以下5大功能。

1、读取文件

2、写文件

3、复制文件

4、移动文件

5、列出文件和目录