位置: 编程技术 - 正文

Cocos2dx的截屏与遮罩(cocos2d schedule)

编辑:rootadmin
Cocos2dx3.2截取精灵部分;bool HelloWorld::init(){ ////////////////////////////// if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); Point ptMid = Point(visibleSize.width/2, visibleSize.height/2); //////底 Sprite *girl5 = Sprite::create("1.jpg"); girl5->setPosition(ptMid); girl5->setScale(0.6); this->addChild(girl5); /////上层; Sprite *cuve = Sprite::create("2.png"); cuve->setPosition(ptMid); this->addChild(cuve); cuve->setBlendFunc(BlendFunc{ GL_ONE, GL_SRC_ALPHA }); //设置精灵混合模式; //////渲染; RenderTexture *render2 = RenderTexture::create(visibleSize.width, visibleSize.height); render2->setPosition(ptMid); this->addChild(render2); render2->begin(); girl5->visit(); cuve->visit(); render2->end(); render2->saveToFile("fferrff1.png",kCCImageFormatPNG); //保存渲染器里渲出的精灵; log(FileUtils::getInstance()->getWritablePath().c_str()); //存文件的路径; /////////////////////////////////////// return true;}

推荐整理分享Cocos2dx的截屏与遮罩(cocos2d schedule),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2djs教程,cocos creator图片裁剪,cocos creator截图,cocos 截图,cocos2d schedule,cocos2dx schedule,cocos2dx scrollview,cocos 截图,内容如对您有帮助,希望把文章链接给更多的朋友!

////////////////////////////////////////////////////////////////////////'

精灵颜色混合;

作用范围只是在精灵大小的方形区域;其它区域不受精灵的影响;

只分有颜色和没颜色(透明)两部分, 不是用黑白来表示;

Sprite *pSprite3=Sprite::create ("e3.png");

BlendFunc bf; //混合结构体,只有下面两个数据成员;

bf.src=GL_ONE; //源;即精灵有颜色的部分;

bf.dst=GL_ONE; //目标;即精灵没有颜色的部分;

BlendFunc pSprite3= cuve->getBlendFunc(); //默认 BlendFunc{GL_ONE, GL_ONE_MINUS_SRC_ALPHA }

pSprite3->setBlendFunc(bf); //pSprite3->setBlendFunc (BlendFunc{GL_ONE , GL_ONE });

渲染是先渲染下面的精灵;然后渲染上面的;一个个精灵按顺序来;

只是自己和已经渲染的(可以看作是一张图);不要拿多个精灵来理解;

自己渲染时,自己作为源(自己有颜色的部分),已经渲染了的精灵作为目标(自己没有颜色的部分);

如:

pSprite3->setBlendFunc (BlendFunc{GL_ONE , GL_ZERO });

//源(自己有颜色的部分)全部显示;

Cocos2dx的截屏与遮罩(cocos2d schedule)

//目标(自己没有颜色的部分)底图也不显示;

pSprite3->setBlendFunc (BlendFunc{GL_ZERO, GL_SRC_ALPHA }); //遮罩效果

//源(自己有颜色的部分)全部不显示; 结果是底图显示;

//目标(自己没有颜色的部分)采用自己的透明度(为0), 结果是底图也不显示;

GL_ONE //有颜色的地方全显示;1

GL_ZERO //没颜色的地方全不显示;0

GL_SRC_ALPHA //用源的透明;

GL_SRC_ COLOR; //用源的颜色;

GL_ONE_MINUS_ SRC _COLOR; //白色减源的颜色;

GL_ONE_MINUS_ SRC _ALPHA; //白色减源的透明;

GL_ DST_ALPHA;

GL_ DST_COLOR;

GL_ONE_MINUS_ DST _COLOR;

GL_ONE_MINUS_ DST _ALPHA;

cocos2dx菜单重叠按钮实现按层优先选择及透明过滤 众所周知,在cocos2d-x中,通过CCMenu(抱歉,笔者至今任然在用2.2.2的版本)创建的菜单,如果遇到数个按钮有重叠,当用户点击重叠区域(包括PNG图标中

cocos2dx中滚动界面和小滚动条同步的实现 在游戏中,经常会遇到滚动界面,或者滚动列表,在滚动时,为了给用户一个更好的体验,我们会想到在滚动界面的旁边加上一个小小的滚动条,让这

cocos2dx中Action的Tag设置问题 cocos2dx中Action的Tag要在runAction之后再设置,否则不管用。例如:action:setTag(1)sprite:runAction(action)这个时候使用sprite:getActionByTag(1)获取到的为nil而如果这样

本文链接地址:https://www.jiuchutong.com/biancheng/368961.html 转载请保留说明!

上一篇:在cocos2dx 中添加自定义 shaders --- 改变 HSL 色调,饱和度, 亮度(cocos怎么用)

下一篇:cocos2dx菜单重叠按钮实现按层优先选择及透明过滤(cocos creator 优化 drawcall 合并)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络