cocos2dx 3.x中灰度精灵的用法
2015-04-02 09:52
393 查看
std::string shader = FileUtils::getInstance()->getStringFromFile("example_greyScale.fsh");
GLProgramCache::getInstance()->addGLProgram(GLProgram::createWithByteArrays(ccPositionTextureColor_noMVP_vert, shader.c_str()), "grey_effect");
//以上两句只需要用一次就可以
auto sprite = Sprite::create("CloseSelected.png");
//保存原来的精灵着色器,并命名为“normal_effect”
GLProgramCache::getInstance()->addGLProgram(sprite->getGLProgram(), "normal_effect");
//设置精灵着色器为灰度着色器
sprite->setGLProgram(GLProgramCache::getInstance()->getGLProgram("grey_effect"));
addChild(sprite);
sprite->setLocalZOrder(-1);
sprite->setPosition(visibleSize.width/2+100, visibleSize.height/2);
设置灰色精灵变回正常的话需要先保存原来的shader的GLProgram。也是一句代码。
sprite->setGLProgram(GLProgramCache::getInstance()->getGLProgram("normal_effect"));
example_greyScale.fsh这个文件可以在test资源文件中找到。然后放到工程资源目录下就可以了。
GLProgramCache::getInstance()->addGLProgram(GLProgram::createWithByteArrays(ccPositionTextureColor_noMVP_vert, shader.c_str()), "grey_effect");
//以上两句只需要用一次就可以
auto sprite = Sprite::create("CloseSelected.png");
//保存原来的精灵着色器,并命名为“normal_effect”
GLProgramCache::getInstance()->addGLProgram(sprite->getGLProgram(), "normal_effect");
//设置精灵着色器为灰度着色器
sprite->setGLProgram(GLProgramCache::getInstance()->getGLProgram("grey_effect"));
addChild(sprite);
sprite->setLocalZOrder(-1);
sprite->setPosition(visibleSize.width/2+100, visibleSize.height/2);
设置灰色精灵变回正常的话需要先保存原来的shader的GLProgram。也是一句代码。
sprite->setGLProgram(GLProgramCache::getInstance()->getGLProgram("normal_effect"));
example_greyScale.fsh这个文件可以在test资源文件中找到。然后放到工程资源目录下就可以了。
相关文章推荐
- cocos2dx 3.x 导演、场景、层、精灵的认识
- cocos2dx 2.x与cocos2dx 3.x类库用法对比
- cocos2dx-3.x 精灵设置颜色以及动作速度调整
- cocos2dx-3.x 精灵设置颜色以及动作速度调整
- Cocos2dx-jsb 3.x 精灵构建过程浅析:
- cocos2dx 3.x版本 Sprite 灰度和彩色切换,无偏移
- cocos2dx 3.x 中Scale9Sprite的原理以及用法
- cocos2dx 3.x 导演、场景、层、精灵的认识
- cocos2dx 2.x与cocos2dx 3.x类库用法对比
- Cocos2dx-jsb 3.x 精灵构建过程浅析(2):
- cocos2dx中创建裁剪区域 实现在指定区域精灵才能出现
- cocos2dx3.X 22中常用动作
- [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(六)之兵营塔
- cocos2dx shader -- Vol.1(灰度、流光、百叶窗)
- 将旧项目基于cocos2dx 2.x的调试绘制转移到cocos2dx 3.x中
- cocos2dx 3.x版本多边形刚体
- 小鬼学cocos2dX笔记01——创建精灵动画(一)
- 新书《Cocos2dx 3.x 3D图形学渲染技术讲解》问世
- cocos2dx 多个精灵执行同一个动作
- Cocos2dx3.x使用socket创建服务端和客户端改进