平铺作为纹理图集的一部分的图像

时间:2012-08-02 18:19:20

标签: iphone ios opengl-es cocos2d-iphone texturepacker

我正在使用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];

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

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

1 个答案:

答案 0 :(得分:1)

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