使用c+的cocos2d-x ios中圆形而非矩形的CCsprite+; 我在COCOS2DX C++中制作了一个精灵。 CCSprite *mysprite=CCSprite::create("mysprite.png"); this->addchild(mysprite);

使用c+的cocos2d-x ios中圆形而非矩形的CCsprite+; 我在COCOS2DX C++中制作了一个精灵。 CCSprite *mysprite=CCSprite::create("mysprite.png"); this->addchild(mysprite);,c++,cocos2d-x,C++,Cocos2d X,但是我们都知道它是矩形的,如果有一种方法可以动态裁剪或者创建一个圆形的精灵,知道.png文件是矩形的。 我们是否可以裁剪或创建一个采用.png并将其剪切成圆形的精灵。是否有关于此问题的链接或教程。 我正在使用cocos2dx2.2版本 我附上两张我想要的图片 我们将非常感谢您的帮助。 谢谢 更新(7-25-14) 我真的不能再推荐CCMask了,因为它适用于v2.x,而cocos2d-x在v3.x分支中发展很快。最明智的做法是使用内置的 原始答案(2014年4月19日) 一个选择是。它的界面比

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

我们将非常感谢您的帮助。 谢谢

更新(7-25-14)

我真的不能再推荐CCMask了,因为它适用于v2.x,而cocos2d-x在v3.x分支中发展很快。最明智的做法是使用内置的


原始答案(2014年4月19日)

一个选择是。它的界面比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);

您是否检查过剪裁节点示例?这里有很多例子,你可以使用任何形状。你可以发布一个链接吗?我很感谢你检查这里:你可以在TestCpp项目的样本中找到它们。