cocos2dx 我所不知的技巧

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,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;
}

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...