1、实现图片的平铺复制
local visibleSize = VisibleRect:getVisibleSize()
local texture = cc.Director:getInstance():getTextureCache():addImage("repeat.jpg")
texture:setTexParameters(gl.LINEAR, gl.LINEAR, gl.REPEAT, gl.REPEAT)
local sprite = cc.Sprite:createWithTexture(texture, cc.rect(0 , 0, visibleSize.width, visibleSize.height))
sprite:setPosition(cc.p(visibleSize.width/2, visibleSize.height/2))
实现的效果,将如下的图片实现重复拼接,直到覆盖满整个visiblesize
这里需要注意的是,图片的宽和高都必须是2的次幂,否则会报错
CCASSERT((_pixelsWide == ccNextPOT(_pixelsWide) || texParams.wrapS == GL_CLAMP_TO_EDGE) &&
(_pixelsHigh == ccNextPOT(_pixelsHigh) || texParams.wrapT == GL_CLAMP_TO_EDGE),
"GL_CLAMP_TO_EDGE should be used in NPOT dimensions");
int ccNextPOT(int x)
{
x = x - 1;
x = x | (x >> 1);
x = x | (x >> 2);
x = x | (x >> 4);
x = x | (x >> 8);
x = x | (x >>16);
return x + 1;
}