使用libgdx加载图像 [英] Load image with libgdx

查看:156
本文介绍了使用libgdx加载图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在libgdx库构建的java应用程序上加载两个图像。我加载了背景图像但是,如果没有将图像的位置设置为(0,0),我无法将其他图像加载到屏幕上。
例如;
我将图像的位置设置为0,0并且没有问题。但是,当我将图像的位置设置为20,0时,无法看到。

I am trying to load two images on the java application built by libgdx library. I loaded the background image however, I could not load the other images on to the screen if I am not set the position of the images to (0,0). For example; I set the position of the image to 0,0 and there is no problem. However, when I set the position of the image to 20, 0, it cannot be seen.

batch.draw(Assets.coinRegion, position.x, position.y, 1, 1)

我试图用上面的代码绘制图像。

I am trying to draw the image with the above code.

谢谢。

编辑:

obstacle = loadTexture("data/obstacle.png"); 
obstacleRegion = new TextureRegion(obstacle, 0, 0, 64, 64);
world.obstacle.position.x += 0.001; 
batch.draw(Assets.obstacleRegion,
world.obstacle.position.x, world.obstacle.position.y, 1, 1); 


推荐答案

TextureRegion类描述纹理内的一个矩形,是仅用于绘制纹理的一部分。

The TextureRegion class describes a rectangle inside a texture and is useful for drawing only a portion of the texture.

private TextureRegion region;
...
texture = new Texture(Gdx.files.internal("image.png"));
region = new TextureRegion(texture, 20, 20, 50, 50);
//if you have 2 images in image.png add new region and specify rectangular:
//region2 = new TextureRegion(texture, 70, 0, 100, 100);
...
batch.begin();
batch.draw(region, 10, 10);
batch.end();

这里20,20,50,50描述了纹理的一部分,然后在10,10。通过将Texture和其他参数传递给SpriteBatch可以实现相同的目的,但TextureRegion可以方便地拥有一个描述两者的单个对象。

Here the 20, 20, 50, 50 describes the portion of the texture, which is then drawn at 10,10. The same can be achieved by passing the Texture and other parameters to SpriteBatch, but TextureRegion makes it convenient to have a single object that describes both.

SpriteBatch有很多绘制方法纹理区域

SpriteBatch has many methods for drawing a texture region

来源:来源

如果你有2个图像在1然后使用几个区域变量..(region1 = new ...和region2 = new .. 。),否则加载2个文件并执行与文档中相同的操作。

if you have 2 images in 1 then use several "region" variables.. (region1 = new ... and region2 = new...), otherwise load 2 files and do the same what written in documentation.

这篇关于使用libgdx加载图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆