1

我正在使用 Cocos2D。当图像是使用 Texture Packer 生成的纹理图集的一部分时,平铺图像的最有效方法是什么。我有一个 10 x 320 的图像,我想平铺它以填充屏幕。

我以前用过这段代码来平铺图像

bgHolder = [CCSprite spriteWithFile:@"bg.png" rect:CGRectMake(0, 0, 700, 300*155)];
ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};
[bgHolder.texture setTexParameters:&params];
[self addChild:bgHolder];

但是当我想要平铺的图像不是正方形并且只是整体纹理的一小部分时,我认为我不能使用这种方法。

链接一堆 CCSprite 对我来说似乎效率很低,所以我希望有更好的方法。

4

1 回答 1

1

每个图块使用一个精灵。这就是这样做的方法。您应该使用精灵批处理来保持绘制调用的数量为 1。使用精灵批处理时渲染 48 个精灵并不比渲染一个 480x320 精灵差多少。

于 2012-08-02T20:49:36.177 回答