gpt4 book ai didi

iphone - 如何在cocos2d中快速绘制背景?

转载 作者:太空狗 更新时间:2023-10-30 03:26:38 26 4
gpt4 key购买 nike

我正在使用 cocos2d 在我的 iPad 上玩一个小游戏,我遇到了一些性能问题。我有一个 512x512 的图像平铺作为我的背景。这给了我大约 40fps 和 20 个 Sprite (在 CCSpriteBatchNode 中),背景代码是这样的:

CCSprite *background;
background = [CCSprite spriteWithFile:@"oak.png" rect : CGRectMake(0,
0,
size.width,
size.height)];
background.position = ccp( size.width /2 , size.height/2 );

ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};
[background.texture setTexParameters: &params];

如果我删除背景,我将获得稳定的 60fps。

我已经尝试将图像转换为 PVRTC 并且确实提供了额外的 fps 或两个。我使用 1024x768 图像而不是平铺版本获得相同的帧率。

因为我的背景将保持轴对齐、未缩放且通常是静态的。我认为应该有一种比将其作为常规 CCSprite 更快的绘制方法?

alt text

最佳答案

原来 cocos2d 以神秘的方式移动。将背景添加到原本为空的包装 CCSprite 可使帧率恢复到 60:

CCSprite *spback = [(CCSprite*)[CCSprite alloc] init];
[self addChild:spback];

CCSprite *sp = [CCSprite spriteWithFile:@"Background.png"];
sp.position = ccp(1024/2, 768/2);
[spback addChild:sp];

为此致谢 yaoligang on the cocos2d forums.

关于iphone - 如何在cocos2d中快速绘制背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com