我在项目中使用enableRetinaDisplay
,除非我使用此代码,否则效果非常好。
//+++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上测试它然后它绘制两根绳子而不是一根。我做错了吗?
答案 0 :(得分:1)
我知道现在为时已晚,但我在搜索谷歌的第一页上发现了这个问题,所以我会将此答案发布给其他人以便将来查找。
在VRope.mm中搜索
[[[spriteSheet textureAtlas] texture] pixelsHigh]
并替换为
[[[spriteSheet textureAtlas] texture] pixelsHigh] / CC_CONTENT_SCALE_FACTOR()
就是这样。