製作精靈遮罩cocos2dx3 0

2021-06-22 14:56:27 字數 1050 閱讀 3168

sprite* helloworld::maskedspritewithsprite(sprite* texturesprite, sprite* masksprite)

);//這句話可以去掉

texturesprite->setblendfunc( blendfunc );

// 4

rt->begin();

masksprite->visit();

texturesprite->visit();

rt->end();

// 5

sprite *retval = sprite::createwithtexture(rt->getsprite()->gettexture());

retval->setflippedy(true);

return retval;

}

原理:* 把src color(日曆)設定為gl_dst_alpha。意思是,看看mask的當前alpha值是多少,如果是0(完全透明),那麼就顯示mask的。如果是1(完全不透明),那麼就顯示日曆。

* 然後把dst color(the mask)設計成gl_zero,這樣的話,之前渲染上去的mask就消失了。

缺點:* 每一次你應用一次mask的時候,都會在記憶體裡面建立一張額外的紋理。 在iphone上面紋理所能占用的記憶體數量是非常有限的,所以你要非常小心,盡可能減少記憶體中載入的紋理數量。當你一次只給一張加mask效果的時候,這種方法很好,但是100張需要mask呢?

* 渲染非常耗時.使用rendertexture來渲染代價非常高,尤其是當紋理大小變大以後。如果你經常使用這種方式去繪圖,那麼會嚴重影響效能。

cocos2d x建立精靈

建立精靈 方法一 有一張檔案建立 l ocal spritename cc.sprite create test.dog cc.sprite會自動將檔案載入為紋理,並用於初始化精靈 精靈還可以僅顯示的一部分 l ocal spritename cc.sprite create test.png cc...

cocos2dx3 螢幕適配問題的解決方案

剛開始碰到這個問題,有點慌,因為我們遊戲一開始沒有做這個方面的考慮,改動量比較大。查了網上資料,選擇了一種比較合理的解決方案 cocos2dx給了5種方案 1,exact fit 使用這個選項,可以保證設計區域完全鋪滿螢幕,但是可能會出現介面被拉伸。2,show all 按原始比例進行縮放,不變形,...

cocos2d x中的精靈

所有的遊戲都有 sprites 精靈,你可能知道或者不知道它們是什麼。精靈就是遊戲中在場景裡進行移動的物件。你可以操縱它們。精靈可能是遊戲中最主要的角色。我知道你在想什麼 難道每乙個圖形物件都是精靈sprite嗎?當然不是!為什麼?當你操縱乙個精靈的時候,它就是乙個精靈。如果你不對它進行操作,那它就...