从pvr纹理奇怪定位CCSprites

时间:2013-02-14 16:55:32

标签: objective-c cocos2d-iphone kobold2d

我使用的是Kobold2D + TexturePacker(两者都是此刻的最后一个版本)。

当我使用spriteWithFile:方法创建一个CCSprite对象,并按原样放置时,它看起来很好。

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 个答案:

答案 0 :(得分:0)

相反background.texture.contentSize.width使用background.contentSize.width等等。

来源:how to obtain a CCSprite's width and height in cocos2d for iphone