我有一些没有透明像素的背景,然后是一些带有透明像素的精灵。遵循 libGDX 文档,我正在做这样的事情:
spriteBatch.begin();
spriteBatch.disableBlending();
spriteBatch.draw(background, ...);
spriteBatch.enableBlending();
spriteBatch.draw(sprite, ...);
spriteBatch.end();
但是,我刚刚阅读了这篇博文,建议您每次都必须使用开始/结束。
http://www.rengelbert.com/tutorial.php?id=179&show_all=true
spriteBatch.disableBlending();
spriteBatch.begin();
spriteBatch.draw(backgroundRegion, 0, 0, 320, 480);
spriteBatch.end();
spriteBatch.enableBlending();
spriteBatch.begin();
spriteBatch.draw(someTextureRegion1, 10, 30);
spriteBatch.draw(someTextureRegion2, 50, 20);
spriteBatch.draw(someTextureRegion3, 30, 90);
spriteBatch.end();
这真的需要吗?
我的代码似乎可以工作,没有报告错误,但我不知道如何测试它是否比第二个示例更好或更差。