想请教一下cocos2d-js里面如何实现背景平铺

一张小的背景图片平铺整个游戏可视区域,网上找了方法好像多不能实现哦,请大神帮忙解答一下,谢谢!!

这个是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

纹理参数的含义可以参考这篇文档