平铺主要用到了openGL的知识,示例代码如下:
Texture2D *texture = Director::getInstance() -> getTextureCache() -> addImage("HelloWorld.png");
Texture2D::TexParams tp = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
texture -> setTexParameters(tp);
auto sprite = Sprite::createWithTexture(texture, Rect(0 , 0, visibleSize.width, visibleSize.height));
sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
this->addChild(sprite, 0);
注意:
TexParams是纹理参数,可以通过它实现纹理变换,前两个参数是纹理过滤规则,后两个参数是纹理环绕模式。
常见的几种:
* 过滤规则
* GL_LINEAR:使用邻近像素点来插值补点
* GL_NEAREST:最邻近点过滤
* 环绕模式
* GL_REPEAT:重复纹理
* GL_CLAMP:边缘像素复制
注意纹理的长宽必须是2的n次方,否则会报错