系列:libgdx编写游戏(3)——编写基础组件SpriteBatch,Texture


注:由于教程为基础教程所以操作均在继承ApplicationAdapter的默认类里面完成。

纹理画布组件(SpriteBatch):

顾名思义,是个画布,可以结合纹理在libgdx的窗口上画些东西。

1定义组件:

SpriteBatch batch;//定义写在函数外面,下同

2创建对象:

batch = new SpriteBatch();//创建对象写在creat()函数里面,下同

3使用组件:

batch.begin();//写render()函数里面
batch.draw(texture, 0, 0);batch.end();

这里的texture是一个纹理对象,后面两个参数分别是x和y,用于对应窗口中的位置,左下角为原点,就和正常的数学坐标系差不多。有些坐标系则不同,如获取鼠标位置时,坐标点在左上角,y轴会发生反转,x轴不变。

4回收组件:

batch.dispose;//写在dispose()函数里面

回收组件可以释放内存空间,不占用资源。写就完事了,其他不用管。

纹理组件(Texture):

简单理解就是转换器,用于把文件夹中的图片写入游戏里面。

1定义组件:

Texture texture;//写在函数外面

2创建对象:

texture = new Texture(Gdx.files.internal("badlogic.jpg"));//写在creat()函数里面

其中:Gdx.files.internal()意为以资源文件夹(assets)为根目录查找文件,可以省略,但建议加上避免不必要的bug。”badlogic.jpg”文件为默认自带文件。

3使用组件:

batch.begin();//写render()函数里面
batch.draw(texture, 0, 0);batch.end();

除了上面这种方法外,Texture还可以作为参数用于许多其他需要用到图片的地方,例如Button(按钮),Actor(演员)等等,后面会讲到。

4回收组件:

texture.dispose;//写在dispose()函数里面

案例:

不知道怎么运行的话看之前文章有介绍。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注