2015-03-23 1 views
0

Я использую AndEngine-GLES2, и когда я пытаюсь затухать в фоновом режиме для новой сцены, изображение сначала отображается на долю секунды и то он исчезает, как мне нужно. Но это изображение, отображаемое без альфа-прозрачности сначала на долю секунды, заставляет его выглядеть глючным.Андроидная альфа-прозрачность для фонового спрайта для эффекта затухания не работает должным образом

Вот мой код, чтобы загрузить изображение

Я нагружает спрайт, как,

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

И я устанавливаю альфа-прозрачность и исчезают эффекты, как

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); 

Я попытался переопределить функцию preDraw спрайта, но это помогает. В чем может быть проблема или какие-либо дополнительные данные? Или мне не хватает чего-то глупого?

ответ

0

Просто добавьте:

bgSprite.setAlpha(0.0f); 

перед подключением фона. По умолчанию ваш спрайт прикреплен к альфа (1.0) (поэтому он появляется в течение секунды, а затем модификатор запускается так, что он мгновенно переходит в альфа (0.0f) и медленно возвращается к 1.0f.

+0

Yup Это так же просто, как вы сказали. –