将 Sprite 的 TextureRegion 更改为另一个 Atlas 中的一个有时会失败 - LIBGDX

Changing TextureRegion of Sprite to one from another Atlas fails sometimes - LIBGDX

我在背景上画了很多星星(精灵数组)。但是当用户开始另一个级别时,它可能需要从另一个 Atlas 获取这些星星的纹理。就在关卡重启之前,我使用 setRegion 更改了所有星星精灵纹理,但有时 500 颗星星中有 2 或 3 颗没有正确更改纹理,并且像黑色矩形一样绘制在屏幕上:

for(int i = 0; i < stars.size() - 1; i++)
{
    stars.get(i).setRegion(another_Atlas.findRegion("star_type1"));
}

如何确保所有星形精灵纹理都正确更改?

通过调用 GLTexture.bind()(有关此 here 的更多信息)

,确保在尝试使用纹理之前已绑定它