在libgdx中加载textureatlas的区域会加载整个文件

Sha*_*dow 3 libgdx

我设法用我拥有的图像打包textureatlas,它正常工作,因为它创建.pack文件和.png文件.问题是当我加载纹理图集并尝试分配AtlasRegions时.它加载整个地图集而不是我想要的图像.这是我用来测试它的模型代码.

@Override
public void create() {      
    camera = new OrthographicCamera(800, 480);
    batch = new SpriteBatch();

    test = new TextureAtlas(Gdx.files.internal("polytest.png"));

    sprite = test.findRegion("hero");
    texture = new Texture(Gdx.files.internal("data/libgdx.png"));
    texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);


}

@Override
public void render() {      
    Gdx.gl.glClearColor(1, 1, 1, 1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(camera.combined);
    batch.begin();
    batch.draw(sprite.getTexture(), 10, 10);
    batch.end();
}
Run Code Online (Sandbox Code Playgroud)

这将呈现整个地图集,而不仅仅是地图册中名为"英雄"的图像.为什么会这样?

提前致谢.

ssa*_*tos 8

当你这样做.-

batch.draw(sprite.getTexture(), 10, 10);
Run Code Online (Sandbox Code Playgroud)

你实际上是在告诉你libgdx渲染整体Texture.你需要的只是绘制TextureRegion.-

batch.draw(sprite, 10, 10);
Run Code Online (Sandbox Code Playgroud)