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

标签 ios cocos2d-iphone

enter image description here

我是 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];
}

如何修复它?

最佳答案

调整屏幕大小的两种方法。

方法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 来根据您的需求进行扩展。

关于iOS,使用cocos2d-ObjC设置场景帧大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56859786/

相关文章:

iphone - 我的*整个*游戏必须重新制作才能使用 Cocos2D 吗?

cocos2d-iphone - 如何在 Cocos2d 3.0 中获取 winSize

ios - 是否可以将应用程序添加到 native 共享对话框?

objective-c - 在 iOS 中定义布局

ios - 软阴影,SceneKit 中的阴影模糊

ios - RealmSwift 需要重建。有我可以下载的更新吗?

cocos2d-iphone - cocos2D iphone v3.3 setBlendFunc 已弃用

ios - Cocos2D中如何保存和调用高分

ios - 来自 .plist 的整数

iOS如何防止以编程方式缓存下载的图像