- 本帖最后由 bumblebee 于 2013-3-7 22:44 编辑 *
关键部分代码如下:
//左边的sprite
CCSprite* s1 = CCSprite::create( "image.png" );
s1->setPosition(ccp(100, 100));
addChild(s1);
CCSprite* temp = CCSprite::create( "image.png" );
CCSize srcContent = temp ->getContentSize();
temp ->setPosition( ccp(srcContent.width/2, srcContent.height/2) );
CCRenderTexture * rt = CCRenderTexture::create(srcContent.width, srcContent.height,kTexture2DPixelFormat_RGBA8888);
ccBlendFunc blendFunc = { 1, 0 };
temp ->setBlendFunc(blendFunc);
rt->begin();
temp ->visit();
rt->end();
//右边的sprite
CCSprite* s2 = CCSprite::createWithTexture(rt->getSprite()->getTexture());
s2->setPosition(ccp(200, 100));
s2->setFlipY(true);
addChild(s2);
img.png是一个左半部分不透明,右半部分半透明的黄色图片
964
两个sprite按照我的写法,应该是一模一样的样子吧?但是显示出来的话却不一样:
963
求教各位这到底是为什么??