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

时间:2019-07-02 20:41:22

标签: ios cocos2d-iphone

enter image description here

我是cocos2d的初学者,我需要init场景框架以使其小于固定在中间的图片中所示的设备屏幕尺寸。另外,场景必须按图片所示比例缩放。我尝试按照以下方法进行操作,但未成功。

- (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];
}

我该如何解决?

1 个答案:

答案 0 :(得分:1)

2种适合屏幕的方式。

方法1

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 ;

方法2:

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来满足您的需求。