2011-05-19 119 views
0

我在我的项目中使用enableRetinaDisplay,除了使用此代码时它工作得很好。视网膜显示Bug? (Cocos2d)

//+++VRope 
    //create batchnode to render rope segments 
    CCSpriteBatchNode *ropeSegmentSprite = [CCSpriteBatchNode batchNodeWithFile:@"rope.png" ]; 
    [game addChild:ropeSegmentSprite]; 
    //Create two cgpoints for start and end point of rope 
    CGPoint pointA = ccp(73, 330); //Top 
    CGPoint pointB = ccp(self.position.x +5, self.position.y +30); //Bottom 
    //create vrope using initWithPoints method 
    verletRope = [[VRope alloc] initWithPoints:pointA pointB:pointB spriteSheet:ropeSegmentSprite]; 

而不是绘制一个高分辨率的绳索图像,此代码绘制两个绳索图像。我知道这是造成这种情况的视网膜显示,因为我测试了它在iphone 3gs和模拟器上,它的效果很好......直到我在我的iphone 4上测试它,然后绘制两条绳索而不是一条。难道我做错了什么?

回答

1

我知道这太迟了,但是在搜索谷歌时,我在第一页上发现了这个问题,所以我会发布这个答案供其他人在未来找到。

在VRope.mm搜索

[[[spriteSheet textureAtlas]质地] pixelsHigh]

,并用替换

[[[spriteSheet textureAtlas]质地] pixelsHigh]/CC_CONTENT_SCALE_FACTOR()

就是这样。