Files
sudoku/src/views/ScoreAdd.ts
2025-06-10 18:24:50 +08:00

54 lines
1.7 KiB
TypeScript

import BezierEasing from "bezier-easing"
import { Utility_EaseOut } from "../utils/utility"
import { AutoDestroy } from "./common/AutoDestroy"
const { regClass, property } = Laya
@regClass()
export class ScoreAdd extends Laya.Script {
declare owner: Laya.Box
@property(Laya.Label)
public shadow: Laya.Label
@property(Laya.Label)
public label: Laya.Label
onAwake(): void {
this.shadow.scaleX = 0
this.shadow.scaleY = 0
this.label.scaleX = 0
this.label.scaleY = 0
const d = this.owner.getComponent(AutoDestroy)
d.lifeTime = 2
}
onStart(): void {
// const filter: Laya.GlowFilter = new Laya.GlowFilter("#000000", 5, 0, 0);
// this.label.filters = [filter];
function bezierEaseLaya1(t: number, b: number, c: number, d: number) {
const bezier = BezierEasing(0.55, 1.8, 0.8, 0.95)
const p = bezier(t / d)
return c * p + b
}
Laya.Tween.to(this.shadow, { scaleX: 1, scaleY: 1 }, 300, bezierEaseLaya1, null, 0)
Laya.Tween.to(this.label, { scaleX: 1, scaleY: 1 }, 300, bezierEaseLaya1, null, 0)
Laya.Tween.to(this.shadow, { y: -102 }, 300, Utility_EaseOut, null, 500)
Laya.Tween.to(this.label, { y: -102 }, 300, Utility_EaseOut, null, 500)
Laya.Tween.to(this.shadow, { alpha: 0 }, 300, Utility_EaseOut, null, 500)
Laya.Tween.to(this.label, { alpha: 0 }, 300, Utility_EaseOut, null, 500)
// Laya.Tween.to(this.label, { scaleX: 1, scaleY: 1 }, 300, Laya.Ease.bounceIn, null, 0)
// Laya.Tween.to(this.label, { y: -102 }, 300, Laya.Ease.linearOut, null, 500)
// Laya.Tween.to(this.label, { alpha: 0 }, 300, Laya.Ease.linearOut, null, 500)
}
public onSetText(text: string): void {
this.label.text = text
}
}