底部的问题摘要。
这是简单的超级代码,但显然我不明白这个库中发生了什么。当我使用以下代码在libGDX中加载圆形图像时:
public class LevelTest extends ApplicationAdapter implements GestureListener, InputProcessor{
Sprite maze;
SpriteBatch batch;
Texture mazeImage;
@Override
public void create(){
mazeImage = new Texture(Gdx.files.internal("maze.png"));
maze = new Sprite(mazeImage);
maze.setPosition(100, 100);
maze.setSize(70, 70);
batch = new SpriteBatch();
}
@Override
public void render(){
Gdx.gl.glClearColor(0, 0, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
//batch.draw(maze, 0, 0, maze.getOriginX(), maze.getOriginY());
maze.draw(batch);
batch.end();
}
它只向我展示圆形图像的四分之一。它应该是一个完整的圆形迷宫,而是只显示图像的右上角1/4。
这是它所显示的:
有趣的是,如果我将图像大小从70,70更改为100,100,它似乎将图像的随机部分带入条纹并将它们翻转到图像的另一侧。所以我最终得到重叠,条纹,镜像,1/4图像,如下所示:
3。 我尝试使用.jpg而不是显示黑色线条透明的线条。 (见下文)。我通过制作图像的负片(将黑线改为白线)来解决这个问题,但我仍然想知道为什么libGDX使黑色部分变得透明。
提前感谢您对这些问题的帮助。
答案 0 :(得分:0)
事实证明我使用的.png图像编码不正确。我使用了一个名为“Lunapic”的网站将白色更改为透明度。感谢Tenfour04,我下载了Gimp并使用它来使白色部分透明,图像全部以libGDX的方式工作。