分享一个可以用于文本和图片渐变效果的Shader

如题,这个Shader组件可以对图片,文本进行简单的颜色渐变处理,(注:文本不支持透明处理)

渐变处理

是一个比较常见的滤镜效果,但是Creator没有提供方便的组件可供使用。因此,翻看论坛里面关于Shader的帖子,并自己写了一个以供使用。功能较为简陋,如果需要定制自己的功能,可能自行修改。

效果如图:

对普通Lable作颜色渐变处理,组件设置如下

代码见附件(1.9.3版本)

scripts.zip (4.3 KB)


更新 2.0.5 版本的ShaderColor,但是发现有以下几个问题:

  1. 对Sprite组件使用的话,在SpriteFrame和Texture都已加载完的情况下都还会有可能延时3帧左右才正常显示(有知道原因的大佬或者官方人员希望可以告知)
  2. Sprite的UV值有问题,在代码中我自己判断如果是Sprite组件,uvRatio 自动切换为10(有知道原因的大佬或者官方人员希望可以告知)

代码见附件(2.0.5版本)
scripts.zip (5.7 KB)

9赞

感谢楼主分享,可以在那些版本的CocosCreator里面使用

666,支持!

mark

感谢分享

目前我用的是1.9.3的版本,2.x的版本没有试过。如果其他版本有兼容问题,可以根据官方对API的调整,自行修改

感谢楼主的贡献

mark 谢谢楼主分享

mark

mark

大佬,不能通过改API 解决,可以出一个2.X 的版本学习一下嘛?

因为2.X _ccsg 模块已经被彻底移除,组件层不再能访问任何 sgNode…

2.X升级参考地址: https://docs.cocos.com/creator/manual/zh/release-notes/upgrade-guide-v2.0.html

1赞

一直没有研究2.x的版本。这两天研究一下,这周内我再更新一个2.x版本的组件。:wink:

1赞

mark

已更新 2.0.5 可用的版本,但是只是勉强可用。帖子有说明目前的 几个问题,还希望有懂的朋下。教一下。

感谢LZ分享

2.0.9实验了一下,sprite可用,label还不行