2012-03-11 16 views
12

Tengo un problema con AndEngine GLES2.Andengine fade in/out y modificadores alfa no funcionan

tengo este código:

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

así que no es de trabajo. Nada lo hace ...

¿Qué debo hacer?

Respuesta

21

¿Ha configurado correctamente la función de fusión? Ejemplo:

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

No, gracias por la respuesta! –

4

Intenté lo anterior pero no funciona para mí como debería. El modificador funciona, pero en lugar de un fundido constante, la imagen se desvanece varias veces durante la duración mencionada. ¿Algunas ideas?

Bueno, finalmente me di cuenta de lo que estaba haciendo mal. Aquí está ...

 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

Sí, yo también ... ¿Qué tenemos que hacer? –

+8

La razón por la que se está desvaneciendo varias veces es porque el AlphaModifier va de una escala de 0.0f a 1.0f en lugar de 0 a 255. donde 1.0f es 255 en una rueda de colores normal. – Gatekeeper