一张小的背景图片平铺整个游戏可视区域,网上找了方法好像多不能实现哦,请大神帮忙解答一下,谢谢!!
这个是C++的代码(根据cpp-empty-test修改)
sprite->setTextureRect(Rect(origin.x, origin.y, visibleSize.width, visibleSize.height));
Texture2D::TexParams params = {
GL_LINEAR,
GL_LINEAR,
GL_REPEAT,
GL_REPEAT
};
sprite->getTexture()->setTexParameters(params);
sprite->getTexture()->setTexParameters(params);这句会遇到assert,把导致assert的代码注释掉,我也不清楚为什么要加这句assert。
归纳两点就是
- 使用Sprite::setTextureRect()修改图片显示的大小
- 使用Texture2D::setTexParameters()设置一些纹理参数。这里主要是把
GL_TEXTURE_WRAP_S和GL_TEXTURE_WRAP_T设置为GL_REPEAT。
纹理参数的含义可以参考这篇文档。