為了完成需要的效果,我們將使用如下策略:
我們將首先繪製掩飾精靈,源的顏色(mask)設定為gl_one,目的顏色(乙個空的快取)設定為gl_zero.所以我們基本上原樣顯示掩飾.
我麼將繪製日曆精靈,源顏色(日曆精靈)為gl_dst_alpha.你可以把它想象為好比是」根據當前快取中alpha的值(the mask).當它為不透明時,讓日曆顯示出來,如果是透明的,則不顯示任何東西!」.目的顏色(the mask)為gl_zero,so之前繪製已存在的掩碼好像消失了一樣.
太好了!你可能認為你只要乙個接乙個的在cocos2d中繪製如上2個精靈,並且設定合適的混合模式就可以了搞定了 — 但是你錯了.
問題是上面的混合演算法在執行中如果在你繪製的精靈下面有其他東西 — 比如背景或其他精靈,就會發生問題.這是因為它假設在第1步之後的快取中只有mask — 沒有其他資料.
所以我們需要一些辦法在繪製掩飾紋理的時候有一塊」空白石板」(blank slate).這就得靠我們的ccrenderertexture朋友來拯救我們了!
如何在Cocos2D 1 0 中掩飾乙個精靈 一
原帖來自ray wunderlich寫的精彩的文章 how to mask a sprite with cocos2d 1.0,位址在 有時在你的遊戲中,你可能需要找到便利的方法去顯示精靈的一部分.一種辦法是使用第二張稱之為掩飾 mask 來完成.你設定掩飾中白色部分為要顯示的地方,而其他所有部分皆...
如何在Cocos2D 1 0 中掩飾乙個精靈 六
掩飾乙個精靈 實現 開啟helloworldlayer.m並且在init方法上方新增如下方法 ccsprite maskedspritewithsprite ccsprite texturesprite masksprite ccsprite masksprite texturesprite set...
cocos 2d中CCUserDefault的使用
cocos 2d中的ccuserdefault的使用非常簡單,網上有一位大神 已經把這個類全部都注釋了,一目了然。非常感謝!下面介紹下這個類的傻瓜用法 1.在需要使用的類中的引入標頭檔案 include support ccuserdefault.h include stdio.h include ...