Android 淡入淡出效果的背景精灵的 alpha 透明度未按预期工作

Android alpha transparency for background sprite for fade in effect is not working as expected

我正在使用 AndEngine-GLES2,当我尝试淡入新场景的背景时,图像首先显示几分之一秒,然后根据需要淡入。但是该图像最初显示时没有 alpha 透明度只有几分之一秒,这让它看起来很不正常。

这是我加载图片的代码

我正在加载精灵,

bgSprite = new Sprite(0, 0, bgTextureRegion, LaunchGame.getSharedInstance().getEngine().getVertexBufferObjectManager());

我将 alpha 透明度和淡入淡出效果设置为

bgSprite.setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
    final IEntityModifier iem = new AlphaModifier(1,0.0f,1.0f);
    iem.setAutoUnregisterWhenFinished(true);
    bgSprite.registerEntityModifier(iem);
    attachChild(bgSprite);

我试图覆盖 sprite 的 preDraw 功能,但它没有帮助。可能是什么问题或需要更多数据?还是我错过了一些愚蠢的东西?

只需添加:

bgSprite.setAlpha(0.0f); 

在附上背景之前。 默认情况下,您的 sprite 附加了 alpha (1.0)(这就是为什么它显示一秒钟,然后修改器被触发,所以立即进入 alpha(0.0f)并再次缓慢进入 1.0f。