1

Cocos2d(v1.01)を使って、スプライトをそのまま表示していると綺麗に出ますが、CCRenderTextureだと画質が悪いです。これは、画像を拡大した場合にのみ発生します。

添付のスクリーン ショットを参照してください。元の画像は左側にあります。ここに画像の説明を入力 これは私のコードです:

CCScene* pScene = CCDirector::sharedDirector()->getRunningScene();

CCSprite* origSprite = CCSprite::spriteWithFile("jigsaw/11.png");
origSprite->setPosition(CCPoint(250,250));
origSprite->setScale(1.3);
pScene->addChild(origSprite, 500);

CCSprite* imageSprite = CCSprite::spriteWithFile("jigsaw/11.png");
CCSize imageSize = imageSprite->boundingBox().size;
CCRenderTexture *rt = CCRenderTexture::renderTextureWithWidthAndHeight(imageSize.width, imageSize.height);
imageSprite->setPosition(ccp(imageSize.width/2, imageSize.height/2));
rt->begin();
imageSprite->visit();
rt->end();
CCSprite *newSprite = CCSprite::spriteWithTexture(rt->getSprite()->getTexture());
delete rt;
newSprite->setFlipY(true);
newSprite->setPosition(CCPoint(750,750));
newSprite->setScale(1.3);
pScene->addChild(newSprite, 500);
4

2 に答える 2

5

OK、答えが見つかりました。追加する必要がありました:

newSprite->getTexture()->setAntiAliasTexParameters();
于 2012-09-24T12:37:15.027 に答える
0

よくわかりませんが、試してみてください。私もこの問題に直面しており、私の問題に対するこの解決策を見つけたので、これがあなたにも役立つことを願っています.

Render テクスチャと Sprite のサイズと位置を設定するだけです

このように >

renderTexture = [CCRenderTexture renderTextureWithWidth:1024 height:768];
      [renderTexture clear:1.0f 
                         g:1.0f
                         b:1.0f
                         a:1.0f];
      renderTexture.position = CGPointMake(500,380);
      [self addChild:renderTexture z:0 tag:1];


 sprite.anchorPoint=ccp(1,1);
        sprite.position =CGPointMake(530, 380);
        [renderTexture addChild:sprite];
于 2012-08-23T10:38:10.650 に答える