Странное расположение 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];
Но при использовании другого метода, при загрузке текстур с использованием 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];
Зачем?
1 ответ
Решение
Вместо background.texture.contentSize.width
использование background.contentSize.width
и так далее.
Источник: как получить ширину и высоту CCSprite в cocos2d для iphone