2013-03-31 18 views
1

我想在Cocos2D中創建一個畫筆。 我有一個PNG文件,它指定了圖像的alpha通道值(只有一個通道) 我想給αsprite的純色的紋理賦予alpha值。並使用ccsprite單位作爲pan.to在屏幕上繪製。如何給CCSprite指定一個alpha通道?

如何在編程中做到這一點?

非常感謝!

回答

1
sprite.opacity = 100; 

不透明度範圍是0-255。除非您編寫自定義着色器,否則不能一次使用紋理更改紋理的alpha和所有sprites。

+0

非常感謝你,但我想給精靈一個alpha圖,不同像素的alpha值是不同的。我該怎麼做 ? – sxingfeng

2

我也必須爲我的項目做到這一點。我想出了這個想法。 (在cocos2d-x)的

  1. 渲染你的 '阿爾法精靈' 與RGB禁用,但是阿爾法啓用(通過glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_TRUE))到CCRenderTexture。

  2. 使您的啓用已禁用的,但RGB實際精靈(通過glColorMask(GL_TRUE,GL_TRUE,GL_TRUE,GL_FALSE))

  3. 現在你必須從實際精靈RGB和一個從 '阿爾法精靈',那麼你將渲染紋理的精靈的alpha混合屬性設置爲{GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA}。

  4. 現在您可以添加渲染紋理並將其繪製到場景中。

我試過這個,這對我的項目有效。希望這也能爲你的工作。