cocos2d中的图像背景问题
Posted
技术标签:
【中文标题】cocos2d中的图像背景问题【英文标题】:image background issue in cocos2d 【发布时间】:2014-02-20 09:04:51 【问题描述】:我使用随机图像作为背景。我想设置背景而不是黑色,如图所示。
在这个图片推广框中是一个障碍物,白色背景是一个名为backimage的图片。你可以看到有一点黑色我只是想在背景上做backimage。
这是我的代码:
+(id) scene
CCScene* scene = [CCScene node];
GameScene *layer1 = [GameScene node];
CCSprite *background = [CCSprite spriteWithFile:@"admin.png"];
background.anchorPoint = ccp(0,0);
[layer1 addChild:background z:-1];
[scene addChild:layer1 z:0];
return scene;
【问题讨论】:
如果您的背景图片是“backimage”,为什么还要使用 admin.png 作为背景 【参考方案1】:尝试使用以下代码设置背景图像:
+(CCScene *) scene
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
HelloWorldLayer *layer = [HelloWorldLayer node];
CGSize winSize = [[CCDirector sharedDirector] winSize];
CCSprite *backgroundIMG = [CCSprite spriteWithFile:@"mainBg.jpg"];
CGSize imageSize = backgroundIMG.contentSize;
backgroundIMG.scaleX = winSize.width / imageSize.width;
backgroundIMG.scaleY = winSize.height / imageSize.height;
backgroundIMG.position = ccp(winSize.width/2, winSize.height/2);
[layer addChild:backgroundIMG z: -1];
// add layer as a child to scene
[scene addChild: layer];
// return the scene
return scene;
【讨论】:
【参考方案2】:试试这个方法,它会在我的项目中工作:
CGSize winSize = [[CCDirector sharedDirector] winSize];
CCSprite *Background = [CCSprite spriteWithFile:@"Background.jpg"];
Background.position = ccp(winSize.width/2, winSize.height/2);
[self addChild:Background];
可能会有所帮助。
【讨论】:
以上是关于cocos2d中的图像背景问题的主要内容,如果未能解决你的问题,请参考以下文章