我發現setopacity函數不適用於我們的cocos2d遊戲之一,它使用的是cocos2d 1.0.1。無論我設置了什麼值,所有ccnodes的不透明度始終爲255,並且淡入淡出/淡出操作也不起作用。我們有另一款遊戲使用了相同版本的cocos2d,但其中一款完美無缺。有沒有人有任何關於如何解決這個問題的線索?cocos2d無法更改ccnode的不透明度
1
A
回答
2
CCNodes實際上並沒有紋理(圖像),所以它們沒有不透明屬性。我假設你認爲設置CCNode的不透明度會影響它的孩子,但它不會。不透明度僅影響您設置不透明度的對象的紋理。您可以設置CCSprite的不透明度,因爲它具有紋理,但這樣做不會影響CCSprite的子項。如果您想要影響多個CCSprite的不透明度,則必須循環遍歷所有的子項,併爲每個子項設置不透明度。
+0
另請注意,最新版本的cocos2d具有不透明度等屬性的級聯選項。你可能想看看它。 – dqhendricks 2013-03-26 18:51:11
0
基本DrawNode無法自行處理不透明度(該功能位於cocos2d-4。*的計劃中)。
您可以從Node
或DrawNode
inherite您的類並實現setOpacity
這樣的:
void AlphaNode::setOpacity(GLubyte opac) {
mOpacity = opac;
if (_bufferCount) {
for (int i = 0; i < _bufferCount; i++) {
_buffer[i].colors.a = mOpacity;
}
}
if (_bufferCountGLPoint) {
for (int i = 0; i < _bufferCountGLPoint; i++) {
_bufferGLPoint[i].colors.a = mOpacity;
}
}
if (_bufferCountGLLine) {
for (int i = 0; i < _bufferCountGLLine; i++) {
_bufferGLLine[i].colors.a = mOpacity;
}
_dirtyGLLine = true;
}
_dirty = true;
}
,我認爲你能爲Node
做這樣的事情。
相關問題
- 1. 在Cocos2d中更改多個精靈的不透明度
- 2. 我無法更改我的不透明度的名稱。其更改。其更改?
- 3. 更改背景不透明度而不更改內容不透明度
- 4. 更改不透明度時重繪窗口不透明度
- 5. 無法更改圖像的不透明度
- 6. 更改jButton透明度/不透明度/ alpha
- 7. cocos2d png透明度問題
- 8. 無法通過使用Imagick更改圖像不透明度
- 9. 不透明度使div更不透明
- 10. 更改不透明度的子div
- 11. 更改文本的不透明度
- 12. 更改TreeItem的不透明度
- 13. 更改CCSpriteBatchNode中CCSprite的不透明度
- 14. 如何更改QTTrack的不透明度
- 15. 如何更改Control的不透明度?
- 16. 如何更改overlaymaptypes的不透明度?
- 17. 更改打印透明度
- 18. 無法更改透明度(阿爾法)編程
- 19. VB.NET:更改背景不透明度
- 20. 使用setTimeout更改不透明度
- 21. 更改頁面不透明度.click jquery
- 22. 更改圖片不透明度
- 23. javafx更改輸入時不透明度
- 24. 使用不透明度更改圖片
- 25. 用javascript更改不透明度?
- 26. Google Maps API:更改基礎地圖的不透明度,但不更改疊加層的不透明度
- 27. 如何更改窗體窗口的不透明度而不更改文本的不透明度
- 28. DIV透明度不改變
- 29. CCNode刪除不工作Cocos2d
- 30. 無法重寫不透明度值?
向我們展示了代碼...還有,你有什麼嘗試?實際上是否調用了setOpacity?什麼節點類?請明確點。 – LearnCocos2D 2013-02-22 22:03:26
我在多個地方有setOpacity並且它們都沒有工作,CCSprite中的opacity_屬性是正確的值,但它沒有效果。所以我猜這個庫有些問題,或者我不小心打開了一些禁用不透明度設置的選項。 – user1898387 2013-02-25 15:54:32