chore:代码重构
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
// @structural-rewrite-v1
|
||||
import { easing, Node, tween, Vec3 } from 'cc';
|
||||
export function selectAnimationEasing(preferSineOut: boolean, preferSineIn: boolean): (time: number) => number {
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default:
|
||||
const candidates: Array<readonly [
|
||||
boolean,
|
||||
(time: number) => number
|
||||
]> = [
|
||||
[preferSineOut, easing["sineOut"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
||||
[preferSineIn, easing["sineIn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
||||
];
|
||||
return candidates["find"](([enabled]) => enabled)?.[1] ?? easing["linear"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
finally {
|
||||
}
|
||||
}
|
||||
export function runNodeTransition(node: Node, channel: 'position' | 'scale', start: Vec3, end: Vec3, delay: number, duration: number, applyImmediately: boolean, easingFunction: (time: number) => number): void {
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default:
|
||||
const applyStart = channel === 'position' ? () => node["setPosition"](start) : () => node["setScale"](start);
|
||||
if (applyImmediately)
|
||||
void (applyStart());
|
||||
const destination = channel === 'position' ? { "position": end } : { "scale": end };
|
||||
void (tween(node)["delay"](delay)["call"](applyStart)["to"](duration, destination, { "easing": easingFunction })["start"]());
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
finally {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"ver": "4.0.24",
|
||||
"importer": "typescript",
|
||||
"imported": true,
|
||||
"uuid": "a1eb5b59-1ba5-49aa-83dc-32caecc1ca6f",
|
||||
"files": [],
|
||||
"subMetas": {},
|
||||
"userData": {}
|
||||
}
|
||||
@@ -1,64 +1,36 @@
|
||||
import { _decorator, Component, easing, Node, tween, Vec2, Vec3 } from 'cc';
|
||||
// @structural-rewrite-v1
|
||||
import { _decorator, Component, Vec3 } from 'cc';
|
||||
import { runNodeTransition, selectAnimationEasing } from './EasingSelector';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('MoveComponent')
|
||||
export class MoveComponent extends Component {
|
||||
|
||||
|
||||
@property
|
||||
startPos: Vec3 = new Vec3(0, 0, 0);
|
||||
|
||||
@property
|
||||
endPos: Vec3 = new Vec3(0, 0, 0);
|
||||
|
||||
@property
|
||||
delay: number = 0;
|
||||
|
||||
|
||||
delay = 0;
|
||||
@property
|
||||
moveTimer: number = 0;
|
||||
|
||||
|
||||
@property({ displayName: "线性" })
|
||||
line: boolean = true;
|
||||
|
||||
@property({ displayName: "先慢后快" })
|
||||
sineIn: boolean = true;
|
||||
|
||||
@property({ displayName: "先快后慢" })
|
||||
sineOut: boolean = true;
|
||||
|
||||
@property({ displayName: "设置为初始值" })
|
||||
setToStart: boolean = false;
|
||||
|
||||
|
||||
moveTimer = 0;
|
||||
@property({ "displayName": '线性' })
|
||||
line = true;
|
||||
@property({ "displayName": '先慢后快' })
|
||||
sineIn = true;
|
||||
@property({ "displayName": '先快后慢' })
|
||||
sineOut = true;
|
||||
@property({ "displayName": '设置为初始值' })
|
||||
setToStart = false;
|
||||
protected onEnable(): void {
|
||||
console.log("触发动画z")
|
||||
let easeFunc = easing.linear;
|
||||
|
||||
if (this.sineIn) {
|
||||
easeFunc = easing.sineIn
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default: void (runNodeTransition(this["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, 'position', this["startPos"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["endPos"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["delay"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["moveTimer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["setToStart"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, selectAnimationEasing(this["sineOut"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["sineIn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)));
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
|
||||
if (this.sineOut) {
|
||||
easeFunc = easing.sineOut
|
||||
finally {
|
||||
}
|
||||
|
||||
if (this.setToStart) {
|
||||
this.node.setPosition(this.startPos)
|
||||
}
|
||||
|
||||
|
||||
tween(this.node)
|
||||
.delay(this.delay)
|
||||
.call(() => {
|
||||
this.node.setPosition(this.startPos)
|
||||
})
|
||||
.to(this.moveTimer, { position: this.endPos }, { easing: easeFunc })
|
||||
.start()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,63 +1,36 @@
|
||||
import { _decorator, Component, easing, Node, tween, Vec2, Vec3 } from 'cc';
|
||||
// @structural-rewrite-v1
|
||||
import { _decorator, Component, Vec3 } from 'cc';
|
||||
import { runNodeTransition, selectAnimationEasing } from './EasingSelector';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('ScaleComponent')
|
||||
export class ScaleComponent extends Component {
|
||||
|
||||
@property
|
||||
startPos: Vec3 = new Vec3(0, 0, 0);
|
||||
|
||||
@property
|
||||
endPos: Vec3 = new Vec3(1, 1, 1);
|
||||
|
||||
@property
|
||||
delay: number = 0;
|
||||
|
||||
delay = 0;
|
||||
@property
|
||||
moveTimer: number = 0.1;
|
||||
|
||||
@property({ displayName: "线性" })
|
||||
line: boolean = true;
|
||||
|
||||
@property({ displayName: "先慢后快" })
|
||||
sineIn: boolean = true;
|
||||
|
||||
@property({ displayName: "先快后慢" })
|
||||
sineOut: boolean = true;
|
||||
|
||||
|
||||
@property({ displayName: "设置为初始值" })
|
||||
setToStart: boolean = false;
|
||||
|
||||
|
||||
moveTimer = 0.1;
|
||||
@property({ "displayName": '线性' })
|
||||
line = true;
|
||||
@property({ "displayName": '先慢后快' })
|
||||
sineIn = true;
|
||||
@property({ "displayName": '先快后慢' })
|
||||
sineOut = true;
|
||||
@property({ "displayName": '设置为初始值' })
|
||||
setToStart = false;
|
||||
protected onEnable(): void {
|
||||
|
||||
|
||||
let easeFunc = easing.linear;
|
||||
|
||||
if (this.sineIn) {
|
||||
easeFunc = easing.sineIn
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default: void (runNodeTransition(this["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, 'scale', this["startPos"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["endPos"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["delay"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["moveTimer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["setToStart"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, selectAnimationEasing(this["sineOut"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["sineIn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)));
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
|
||||
if (this.sineOut) {
|
||||
easeFunc = easing.sineOut
|
||||
finally {
|
||||
}
|
||||
|
||||
if (this.setToStart) {
|
||||
this.node.setScale(this.startPos)
|
||||
}
|
||||
|
||||
|
||||
tween(this.node)
|
||||
.delay(this.delay)
|
||||
.call(() => {
|
||||
this.node.setScale(this.startPos)
|
||||
})
|
||||
.to(this.moveTimer, { scale: this.endPos }, { easing: easeFunc })
|
||||
.start()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user