Странное расположение CCSprites из pvr текстуры

Я использую Kobold2D + TexturePacker (обе являются последней версией на данный момент).

Когда я создаю объект CCSprite с помощью метода spriteWithFile: и размещаю его как следует, он выглядит нормально.

CGSize screenSize = [CCDirector sharedDirector].winSize;

background = [CCSprite spriteWithFile:@"dir_bg.png"];
background.position = CGPointMake(screenSize.width - background.texture.contentSize.width / 2 - 10, background.texture.contentSize.height / 2 + 10);

[self addChild:background];

controller = [CCSprite spriteWithFile:@"dir_big.png"];
controller.position = background.position;

[self addChild:controller];

spriteWithFile

Но при использовании другого метода, при загрузке текстур с использованием spriteWithSpriteFrameName: объект не размещается должным образом.

[CCTexture2D PVRImagesHavePremultipliedAlpha:YES];
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"Textures.plist"];

CGSize screenSize = [CCDirector sharedDirector].winSize;

background = [CCSprite spriteWithSpriteFrameName:@"dir_bg.png"];
background.position = CGPointMake(screenSize.width - background.texture.contentSize.width / 2 - 10, background.texture.contentSize.height / 2 + 10);

[self addChild:background];

controller = [CCSprite spriteWithSpriteFrameName:@"dir_big.png"];
controller.position = background.position;

[self addChild:controller];

spriteWithSpriteFrameName

Зачем?

1 ответ

Решение

Вместо background.texture.contentSize.width использование background.contentSize.width и так далее.

Источник: как получить ширину и высоту CCSprite в cocos2d для iphone

Другие вопросы по тегам