Ошибка дисплея Retina?(Cocos2d) - PullRequest
0 голосов
/ 19 мая 2011

Я использую 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, тогда он рисует две веревки вместо одной. Я что-то не так делаю?

1 Ответ

1 голос
/ 26 ноября 2011

Я знаю, что уже слишком поздно, но я нашел этот вопрос на первой странице при поиске в Google, поэтому я опубликую этот ответ, чтобы другие могли его найти в будущем.

В VRope.mm поиск

[[[spriteSheet textureAtlas] текстура] пикселейВысота]

и заменить на

[[[spriteSheet textureAtlas] текстура] пикселейВысота] / CC_CONTENT_SCALE_FACTOR ()

Вот и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...