2012-01-17 64 views
2

我正在使用PlayN進行遊戲,並且有一點我想要拍攝一張圖像(目前採用PNG格式,已經有8位alpha),我會喜歡根據我的代碼中的值將圖像乘以一個額外的alpha因子。PlayN中的圖像以編程方式消失

具體來說,我目前住在一ImageLayer臉的圖片,我想是有這樣的效果:

void init() { 
    faceImage = assetManager().getImage("images/face.png"); 
    graphics().rootLayer().add(faceImage); 
} 

void update(float deltaMilliseconds) { 
    // start at fully transparent, fade to fully opaque 
    float transparency = calcTransparency(deltaMilliseconds); 
    faceImage.setTransparency(transparency); 
} 

我希望有一些方法來做到一些GroupLayers和混合模式的技巧,或許將圖像與CanvasLayer混合在一起,畫上一個由我的代碼控制透明度的實心白色矩形,但對我來說這不是顯而易見的,如果這是實現類似常見效果的最佳方式。

回答

2

如果你只是想淡出圖像中從完全透明到完全不透明的,那麼就請執行以下操作:

ImageLayer faceLayer; 
void init() { 
    Image faceImage = assetManager().getImage("images/face.png"); 
    faceLayer = graphics().createImageLayer(faceImage); 
    graphics().rootLayer().add(faceLayer); 
} 

void update(float delta) { 
    float alpha = calcAlpha(delta); 
    faceLayer.setAlpha(alpha); 
} 

如果α-從0(完全透明)至1(完全不透明) 。

+0

是的,這正是我所需要的。謝謝! – 2012-01-18 18:16:59

相關問題