1. 首页
  2. 游戏开发
  3. cocos2D
  4. 新版Creator 2.1.2终于支持 ShaderHelper 了 ShaderHelper2.zip

新版Creator 2.1.2终于支持 ShaderHelper 了 ShaderHelper2.zip

上传者: 2021-04-18 07:05:52上传 ZIP文件 793.4KB 热度 13次
新版Creator 2.1.2,终于支持 ShaderHelper 了 let ShaderProperty = cc . Class ({ name : 'ShaderProperty' , properties : { key : '' , value : '' , } }); cc . Class ({ extends : cc . Component , properties : { effect : cc . EffectAsset , //effect资源 speed : 0.01 , //控制动态Shader的time参数 props : [ ShaderProperty ], //shader参数 }, start () { if (! this . effect ) { return ; } //获取精灵组件 let sprite = this . node . getComponent ( cc . Sprite ); if (! sprite ) { return ; } //实例化一个材质对象 let material = new cc . Material (); //在材质对象上开启USE_TEXTURE定义 material . define ( 'USE_TEXTURE' , true ); //为材质设置effect,也是就绑定Shader了 material . effectAsset = this . effect ; material . name = this . effect . name ; //将材质绑定到精灵组件上,精灵可以绑定多个材质 //这里我们替换0号默认材质 sprite . setMaterial ( 0 , material ); //从精灵组件上获取材质,这步很重要,不然没效果 this . material = sprite . getMaterial ( 0 ); //初始化参数 this . time = 0 ; this . props . forEach ( item => this . material . setProperty ( item . key , item . value )); }, /** * 在update事件中更新材质参数 * 不同的Shader这里可能需要重写 */ update () { if (! this . material || ! this . speed ) { return ; } if ( this . flag ) { this . time +=
下载地址
用户评论