iphone - 更改cocos2d中的背景图片

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

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

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

提前感谢大家。

最佳答案

我假设背景是指具有完整 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 压缩)将导致明显的延迟。如果您正在制作 Action 游戏,则必须预加载背景图像。这将使您在游戏的其余部分中只剩下很少的内存(15 个图像 x 1 MB = 15 MB,其中可能有 25 MB 可用内存)。

PS:更多Q&A可在cocos2d论坛查看:http://www.cocos2d-iphone.org/forum我还不断将常见问题解答添加到我的 http://www.learn-cocos2d.com 中网站。

关于iphone - 更改cocos2d中的背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2902343/

相关文章:

iphone - block 和内存释放问题

iphone - 从坞站连接器捕获音频

iphone - 应用程序更新问题

iphone - 为什么模拟器播放视频时会从横向旋转为纵向

cocos2d-iphone - 未能及时恢复 Crashlog

iphone - 通过在表格 View 中选择一行来删除核心数据条目

objective-c - 如何判断用户何时点击 UITableViewCell?

ios - 更改 QLPreviewController 中的导航栏颜色

iphone - Cocos Denshion : Play sound effect in sync with music

iphone - Cocos2D CCSprite 对象移动太多