LibGDX_3.1: 纹理(Texture)

本文链接: http://blog.csdn.net/xietansheng/article/details/50186835

LibGDX 基础教程(总目录)

1. 概述

纹理类(Texture)负责解码一个图片文件并加载到 GPU 内存,可以看做代表的是一张图片,图片文件通常是放在 assets 资源文件夹中,一个图片文件被加载为 Texture 实例后,如果不再需要使用到这个 texture,需要手动调用释放资源的方法 texture.dispose() 进行资源释放。

Texture 常用构造方法:

  • Texture(FileHandle file): 使用指定的 FileHandle 创建为纹理
  • Texture(String internalPath): 使用 assets 资源文件夹中的文件的相对路径名创建纹理

Texture 常用方法:

  • int getWidth(): 获取纹理的宽度
  • int getHeight(): 获取纹理的高度
  • void dispose(): 释放纹理资源

2. 代码示例

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();
		}
	}

}

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢TS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值