使用c ++在cocos2d-x ios中使用圆形而不是矩形的CCsprite

时间:2014-04-17 04:34:17

标签: c++ cocos2d-x

我在cocos2dx c ++中制作了一个sprite as。

CCSprite *mysprite=CCSprite::create("mysprite.png");
this->addchild(mysprite);

但是我们都知道这是一个矩形的形状。如果有一种方法可以动态裁剪或创建一个圆形的精灵,知道.png文件是矩形的。 我们可以裁剪或创建一个带有.png并将其剪切为圆形的精灵。有关于此问题的任何链接或教程。 我正在使用cocos2dx 2.2版本 我附上两张我想要的图片

任何帮助都将受到高度赞赏。 谢谢 rectange shape after crop in circle

1 个答案:

答案 0 :(得分:1)

更新(7-25-14)

我不能再推荐CCMask,因为它适用于v2.x而cocos2d-x正在快速推进v3.x分支。使用内置ClippingNode时最明智。


原始答案(4-19-2014)

一个选项是CCMask。它的界面比ClippingNode更简单,因此您可以更快地启动和运行。

从自述文件中可以看出:

// Create a mask and an object
CCSprite* mask = CCSprite::create("mask_circle.png");
CCSprite* object = CCSprite::create("HelloWorld.png");
object->setPosition(ccp(mask->getContentSize().width/2, mask->getContentSize().height/2));

// Create a masked image
CCMask* masked = CCMask::create(mask , object);
masked->setPosition(ccp(size.width/2, size.height/2));
this->addChild(masked);
相关问题