[add] First

This commit is contained in:
2022-07-25 11:11:37 +08:00
commit 0b3011e6ef
75 changed files with 29513 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
const {ccclass,property} = cc._decorator;
@ccclass
export default class ShaderTime extends cc.Component
{
/**记录时间 */
private time: number;
private sprite: cc.Sprite;
/**精灵上的材质 */
private material: any;
/**增加还是减少 */
private IsAdd: boolean;
/**速度 */
@property({type: cc.Float,tooltip: "速度"})
speed = 1.0;
/**是否循环 */
@property({tooltip: "是否循环"})
isLoop: boolean = false;
/**是否设置UV到effect(解决动态合图的bug) */
@property({tooltip: "是否设置UV到effect(解决动态合图的bug)"})
isSetUv: boolean = false;
start()
{
this.time = 0;
this.IsAdd = true;
this.sprite = this.node.getComponent(cc.Sprite);
this.material = this.sprite.getMaterial(0); //获取材质
}
update(dt)
{
this.material.setProperty("u_time",this.time); //设置材质对应的属性
(this.isLoop && !this.IsAdd) ? this.time -= dt * this.speed : this.time += dt * this.speed;
if(this.isSetUv)
{ //传递UV 参数到 effect
let frame = this.sprite.spriteFrame as any;
let l = 0,r = 0,b = 1,t = 1;
l = frame.uv[0];
t = frame.uv[5];
r = frame.uv[6];
b = frame.uv[3];
let u_UVoffset = new cc.Vec4(l,t,r,b);
let u_rotated = frame.isRotated() ? 1.0 : 0.0;
this.material.setProperty("u_UVoffset",u_UVoffset);
this.material.setProperty("u_rotated",u_rotated);
}
cc.log(this.time);
if(this.time > 1.5)
{
this.IsAdd = false;
}
else if(this.time < -0.5)
{
this.IsAdd = true;
}
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "1.0.8",
"uuid": "ee8e4708-0626-4367-84ad-a44d4465fbb3",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}