cocos2d中的图像背景问题

时间:2014-02-20 09:04:52

标签: ios iphone cocos2d-iphone

我使用随机图像作为背景。我想设置背景而不是黑色,如图所示。 enter image description here

在此图片中,促销框是一个障碍物,白色背景是一个名为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;
}

2 个答案:

答案 0 :(得分:1)

尝试使用以下代码设置backGround图像:

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

答案 1 :(得分:1)

尝试这种方式,它将在我的项目中工作:

        CGSize winSize = [[CCDirector sharedDirector] winSize];

        CCSprite *Background  = [CCSprite spriteWithFile:@"Background.jpg"];
        Background.position = ccp(winSize.width/2, winSize.height/2);
        [self addChild:Background];

可能会有所帮助。