我使用 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];
但是使用不同的方法,使用 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];
为什么?