IOS,使用 cocos2d-ObjC 设置场景帧大小

IOS, setting scene frame size using cocos2d-ObjC

我是 cocos2d 的初学者,我需要初始化场景框架使其小于设备屏幕大小,如固定图片中所示。此外,场景必须按图片所示缩放。我试过如下操作,但没有成功。

- (void)drawBackground
{
    NSArray *assetPathParts = [self.dataProvider.backgroundValue componentsSeparatedByString:@"/"];
    self.background = [CCSprite spriteWithImageNamed:assetPathParts.lastObject];
    self.background.anchorPoint = ccp(0,0);
    self.background.scale = 2;
    self.background.scaleType = CCScaleTypeScaled;
    [self addChild:self.background];
}

我该如何解决?

2 种适应屏幕的方式。

方法一:

CGSize wSize = [[CCDirector sharedDirector] winSize];

CCSprite *background = [CCSprite spriteWithFile:@"Kundapura.png"];
background.position  = ccp(wSize.width*0.5f, wSize.height*0.5f);
[self addChild:background];
background.scaleX = wSize.width/background.contentSize.width ;
background.scaleY = wSize.height/background.contentSize.height ;

方法二:

CGSize wSize = [[CCDirector sharedDirector] winSize];

CCSprite *image = [CCSprite spriteWithFile:@"Kundapura.png"];
CCSprite *background = [CCSprite spriteWithTexture: image.texture rect:CGRectMake(0, 0, wSize.width, wSize.height)];

background.position  = ccp(wSize.width*0.5f, wSize.height*0.5f);
[self addChild:background];

这适合您的背景 iPhone 设备尺寸。使用 runAction 来扩展您的需求。