2012-03-11 60 views
12

我遇到了AndEngine GLES2问题。Andengine淡入/淡出和alpha修饰符不起作用

我有这样的代码:

Sprite black = new Sprite(0,0, blackRegion, this.getVertexBufferObjectManager()); 
black.setSize(CAMERA_WIDTH, CAMERA_HEIGHT); 

black.registerEntityModifier(new AlphaModifier(2, 0, 255)); 

mScene.attachChild(black); 

所以它不工作。没有任何东西......

什么我需要做什么?

回答

21

您是否正确设置了混合功能?例如:

sprite.setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
+0

不,谢谢你的回答! – 2012-03-12 14:26:49

4

我试过上面的,但它不适合我,因为它应该。该修饰符的作品,但不是一个稳定的淡出,图像淡出多次提到的持续时间。有任何想法吗?

那么最终我想通了,我在做什么错。这是它...

 anySprite.setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
    IEntityModifier iem = new AlphaModifier(seconds, 0, 255); //for some unknown reason i was passing invalid values and hence it didn't work then :) 
    iem.setRemoveWhenFinished(true); 
    anySprite.registerEntityModifier(iem); 
+0

我也是......我们需要做什么? – 2012-04-02 16:52:18

+8

您多次淡出的原因是因为AlphaModifier从0.0f的比例变为1.0f而不是0到255.其中1.0f在常规色轮上为255。 – Gatekeeper 2012-06-14 15:59:51