博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpriteBuilder&Cocos2D使用CCEffect特效实现天黑天亮过度效果
阅读量:6423 次
发布时间:2019-06-23

本文共 1135 字,大约阅读时间需要 3 分钟。

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


在动作或RPG类游戏中我们有时需要天黑和天亮过度的效果来完成场景的过度,有很多种方法比如用场景切换的过渡类来实现.但是在这里我们使用另外的方法:CCEffect特效节点来实现.

打开SpriteBuilder,在CCB场景中添加一个CCEffectNode节点,按如下设置:

这里写图片描述

注意上图有2个Brightness效果,实际只用一个,另一个是做其他测试用的.

打开Xcode添加过渡代码:

-(void)darkFadeOut:(CCTime)delta{    CCEffectStack *effectStack = (CCEffectStack*)_effectNode.effect;    CCEffectBrightness *effectBrightness = (CCEffectBrightness*)[effectStack effectAtIndex:0];    if (effectBrightness.brightness <= -1) {        [self unschedule:_cmd];        if (_mapNameWaitingGoTo) {            if (CGPointEqualToPoint(_spawnTilePos, ccp(-1, -1))) {                [self GoToMapNamed:_mapNameWaitingGoTo];            }else{                [self GoToMapNamed:_mapNameWaitingGoTo spawnAtTilePos:_spawnTilePos];            }            [self schedule:@selector(darkFadeIn:) interval:0.2];        }    }else{        if (effectBrightness.brightness - 0.1 <= -1.0f) {            effectBrightness.brightness = -1.0f;        }else{            effectBrightness.brightness -= 0.1;        }    }}

还有另一个对应方法:darkFadeIn与此类似,只不过属性是反转的效果.

编译链接,运行效果如下(动画图片比较大,可能要等一会):

这里写图片描述

你可能感兴趣的文章
网关支付、银联代扣通道、快捷支付、银行卡支付分别是怎么样进行支付的?...
查看>>
大数据开发实战:Stream SQL实时开发一
查看>>
C++返回引用的函数例程
查看>>
dll 问题 (转)
查看>>
REST API用得也痛苦
查看>>
test for windows live writer plugins
查看>>
Tiny210 U-BOOT(二)----配置时钟频率基本原理
查看>>
代理模式
查看>>
javaweb学习总结(二十四)——jsp传统标签开发
查看>>
让script的type属性等于text/html
查看>>
linux 文件系统sysvinit 流程分析
查看>>
体素科技:2018年,算法驱动下的医学影像分析进展
查看>>
Vue 折腾记 - (8) 写一个挺靠谱的多地区选择组件
查看>>
VS Code折腾记 - (3) 多图解VSCode基础功能
查看>>
『翻译』Node.js 调试
查看>>
我的iOS开发之路总结(更新啦~)
查看>>
Java NIO之拥抱Path和Files
查看>>
微信原图泄露的只能是 Exif ,你的隐私不在这!!!
查看>>
微信小程序教学第三章(含视频):小程序中级实战教程:列表篇-页面逻辑处理...
查看>>
页面间通信与数据共享解决方案简析
查看>>