Libgdx 纹理Texture
- 概述 纹理类(Texture)负责解码一个图片文件并加载到 GPU 内存,可以看做代表的是一张图片,图片文件通常是放在 assets 资源文件夹中,一个图片文件被加载为 Texture 实例后,如果不再需要使用到这个 texture,需要手动调用释放资源的方法 texture.dispose() 进行资源释放。
Texture 常用构造方法:
Texture(FileHandle file): 使用指定的 FileHandle 创建为纹理 Texture(String internalPath): 使用 assets 资源文件夹中的文件的相对路径名创建纹理 Texture 常用方法:
int getWidth(): 获取纹理的宽度 int getHeight(): 获取纹理的高度 void dispose(): 释放纹理资源
- 代码示例
package com.libgdx.test;
import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch;
/**
- 游戏主程序的启动入口类,
-
继承 ApplicationAdapter 抽象类, ApplicationAdapter 实现了 ApplicationListener 接口 */ public class MainGame extends ApplicationAdapter {
private SpriteBatch batch;
private Texture texture;
@Override public void create() { batch = new SpriteBatch();
// 加载 assets 文件夹下的 badlogic.jpg 文件,创建纹理 texture = new Texture(Gdx.files.internal("badlogic.jpg")); // 获取纹理(图片)的原始像素宽高 int width = texture.getWidth(); int height = texture.getHeight();}
@Override public void render() { // 红色清屏 Gdx.gl.glClearColor(1, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin(); // 将纹理绘制到屏幕左下角 batch.draw(texture, 0, 0); batch.end();}
@Override public void dispose() { // 当应用退出时释放资源 if (texture != null) { texture.dispose(); } if (batch != null) { batch.dispose(); } }
}
---------------------
作者:xietansheng
来源:CSDN
原文:https://blog.csdn.net/xietansheng/article/details/50186835
版权声明:本文为博主原创文章,转载请附上博文链接!
发表评论