我使用的是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];
为什么?
答案 0 :(得分:0)
相反background.texture.contentSize.width
使用background.contentSize.width
等等。
来源:how to obtain a CCSprite's width and height in cocos2d for iphone