12. cocos2dx 如何取一个sprite的颜色值_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > 12. cocos2dx 如何取一个sprite的颜色值

12. cocos2dx 如何取一个sprite的颜色值

 2014/7/25 15:31:07  caiwb1990  程序员俱乐部  我要评论(0)
  • 摘要:大家都知道颜色的Data数据是存放在CCimage下的,而CCimage在创建完CCsprite之后是不保存的。当然我们可以改源码将CCimage直接获得出来,也可以通过以下方法通过CCRenderTexture来获得CCsprite的CCimage。CCSprite*pNewSpr=CCSprite::createWithSpriteFrame(pSpr->displayFrame());pNewSpr->setAnchorPoint(CCPointZero)
  • 标签:一个
    大家都知道颜色的Data数据是存放在CCimage下的,而CCimage在创建完CCsprite之后是不保存的。
当然我们可以改源码将CCimage直接获得出来,也可以通过以下方法通过CCRenderTexture来获得CCsprite的CCimage。

class="C++">
	CCSprite* pNewSpr = CCSprite::createWithSpriteFrame(pSpr->displayFrame());
	pNewSpr->setAnchorPoint(CCPointZero);
	CCRenderTexture* pRender = CCRenderTexture::create(pNewSpr->getContentSize().width, pNewSpr->getContentSize().height, kCCTexture2DPixelFormat_RGBA8888);
	pRender->begin();
	pNewSpr->visit();
	pRender->end(); 
	CCImage* image = pRender->newCCImage();


    获得到CCimage以后,我们就可以取出颜色的data数据,来进行颜色操作了。

    比如判断某个点的颜色值是否透明,可以应用在像素碰撞上,也可以应用在不规则的相互嵌套按钮的点击判断上。
发表评论
用户名: 匿名