我有一个问题,我也在游戏“Candy Crush Saga”中看到了它,在那里他们成功地处理了它。我希望精灵只在它出现在棋盘上时显示(见下面的图片链接)。棋盘可以是不同的形状,如上述游戏中的等级。 有谁有想法如何用Cocos2d实现这一目标? 如果有人有一些提示,我会很高兴。
提前谢谢。
图片链接:http://www.android-games.fr/public/Candy-Crush-Saga/candy-crush-saga-bonus.jpg
答案 0 :(得分:1)
在Cocos2d中,您可以渲染不同z级别的精灵。首先由图形卡绘制较低z水平的图像,稍后将绘制具有较高z值的图像(精灵)。因此,如果图像(比如说A)位于另一个图像的相同位置但具有更高的z值,则只能看到图像A中两个图像相交的像素。
Cocos2d也使用图层,因此您可以决定将Sprite添加到图层并将图层设置为特定的z值。我希望他们在电路板上使用一个层(比如在z = 1),在可以看到精灵的区域中使用包含透明位的PNG图像,在精灵的z = 0处使用第二层。通过这种方式,您只能在透明区域中看到精灵。
这有帮助吗?
答案 1 :(得分:0)
我发现Cocos2d有一个CCClippingNode类,它完全符合我的要求。首先我认为它只能剪切矩形区域,但经过一些研究后我发现它也可以剪辑路径。