在cocos2d中更改背景图像

时间:2010-05-25 05:59:15

标签: iphone xcode cocos2d-iphone iphone-sdk-3.0

我正在使用cocos2d制作游戏。因为我想在每一秒钟之后改变背景。 我不知道如何在cocos2d中这样做。我有15个不同的图像,每个图像将逐个显示,即1秒后将出现下一个图像。

我是cocos2d的新手,所以,如果有人可以帮助我???

提前感谢所有人。

1 个答案:

答案 0 :(得分:18)

我假设背景是指具有完整320x480分辨率的图像。

您必须创建并添加CCSprite:

CCSprite* background = [CCSprite spriteWithFile:@"bg1.png"];
background.tag = 1;
background.anchorPoint = CGPointMake(0, 0);
[self addChild:background];

要安排替换,请使用调度程序:

[self schedule:@selector(replaceBackground:) interval:1.0f];

更换背景时,不要忘记删除旧背景:

-(void) replaceBackground:(ccTime)delta
{
    // add new background here...

    [self removeChildByTag:1];
}

当然,标签应随着每张图片而增加。

提醒一句:在文件中加载320x480(内存中的512x512纹理,使用1 MB内存除非16位或PVR压缩)会导致明显的延迟。如果你正在做一个动作游戏,你将不得不预加载背景图像。这将为您留下很少的记忆,可以用于游戏的其余部分(15张图像x 1 MB = 15 MB可能25 MB的可用内存)。

PS:cocos2d论坛提供了更多Q& A http://www.cocos2d-iphone.org/forum,我还会继续在我的http://www.learn-cocos2d.com网站上添加常见问题解答答案。

相关问题