cocos-awesome/assets/Scene/Water_spread/Water_spread.ts
2024-05-15 22:37:35 +08:00

29 lines
790 B
TypeScript

const { ccclass, property } = cc._decorator;
@ccclass
export default class Water_spread extends cc.Component {
@property(cc.Node)
bg: cc.Node = null;
material: cc.Material = null;
onLoad() {
this.material = this.bg.getComponent(cc.Sprite).getMaterial(0);
this.bg.on(cc.Node.EventType.TOUCH_END, this.touchStartEvent, this);
}
waveOffset: number = 0.0;
touchStartEvent(evt: cc.Event.EventTouch) {
let pos = evt.getLocation();
this.material.setProperty('center', [ pos.x / this.bg.width, (this.bg.height - pos.y) / this.bg.height]);
this.waveOffset = 0.0;
}
update(dt) {
this.material.setProperty('time', dt);
if (this.waveOffset > 2.0) return;
this.waveOffset += dt;
this.material.setProperty('wave_offset', this.waveOffset);
}
}