我正在使用cocos2d制作游戏。因为我想在每一秒钟之后改变背景。 我不知道如何在cocos2d中这样做。我有15个不同的图像,每个图像将逐个显示,即1秒后将出现下一个图像。
我是cocos2d的新手,所以,如果有人可以帮助我???
提前感谢所有人。
答案 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网站上添加常见问题解答答案。