System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2"], function (_export, _context) { "use strict"; var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, _decorator, Component, director, find, tween, Vec3, Cube_Infor, Cube_State, Container_Manager, _dec, _class, _crd, ccclass, property, CreateIdiom; function _reportPossibleCrUseOfCube_Infor(extras) { _reporterNs.report("Cube_Infor", "./Cube_Infor", _context.meta, extras); } function _reportPossibleCrUseOfCube_State(extras) { _reporterNs.report("Cube_State", "./Cube_Infor", _context.meta, extras); } function _reportPossibleCrUseOfContainer_Manager(extras) { _reporterNs.report("Container_Manager", "./Container_Manager", _context.meta, extras); } return { setters: [function (_unresolved_) { _reporterNs = _unresolved_; }, function (_cc) { _cclegacy = _cc.cclegacy; __checkObsolete__ = _cc.__checkObsolete__; __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__; _decorator = _cc._decorator; Component = _cc.Component; director = _cc.director; find = _cc.find; tween = _cc.tween; Vec3 = _cc.Vec3; }, function (_unresolved_2) { Cube_Infor = _unresolved_2.Cube_Infor; Cube_State = _unresolved_2.Cube_State; }, function (_unresolved_3) { Container_Manager = _unresolved_3.Container_Manager; }], execute: function () { _crd = true; _cclegacy._RF.push({}, "3b901oU5ZJHnp8TtJiYjZWZ", "CreateIdiom", undefined); __checkObsolete__(['_decorator', 'Component', 'debug', 'director', 'find', 'instantiate', 'Layers', 'Node', 'NodePool', 'Prefab', 'tween', 'Vec3']); ({ ccclass, property } = _decorator); _export("CreateIdiom", CreateIdiom = (_dec = ccclass('CreateIdiom'), _dec(_class = class CreateIdiom extends Component { constructor(...args) { super(...args); this.count = 0; this.Container = void 0; } onLoad() { this.Container = find('Container').getComponent(_crd && Container_Manager === void 0 ? (_reportPossibleCrUseOfContainer_Manager({ error: Error() }), Container_Manager) : Container_Manager); } update(deltaTime) {} nodeMoving() { this.node.setPosition(new Vec3(0, 0.3, 0)); let startPos = this.node.position; // 起点,抛物线开始的坐标 let middlePos = new Vec3(this.node.position.x, this.node.position.y, 0); // 中间控制点 let destPos = new Vec3(this.node.position.x, this.node.position.y, 0); // 终点,抛物线上升顶点 let twoBezier = (t, p1, cp, p2) => { // 贝塞尔曲线计算 let x = (1 - t) * (1 - t) * p1.x + 2 * t * (1 - t) * cp.x + t * t * p2.x; let y = (1 - t) * (1 - t) * p1.y + 2 * t * (1 - t) * cp.y + t * t * p2.y; // 螺旋运动计算 let angle = t * Math.PI * 6; // 螺旋角度变化,增加圈数 let radius = 0.5 + t * 2.5; // 螺旋半径逐渐增大 let xOffset = Math.cos(angle) * radius; // x 轴偏移 let zOffset = Math.sin(angle) * radius; // z 轴偏移 // 返回最终点,带有螺旋效果 return new Vec3(x + xOffset, y, zOffset); }; let tweenDuration = 1.0; // 动画时长 let createdNodes = 0; // 已生成的节点计数 tween(this.node.position).to(tweenDuration, destPos, { onUpdate: (target, ratio) => { // 计算新的位置,带螺旋上升效果 this.node.position = twoBezier(ratio, startPos, middlePos, destPos); // 根据进度生成新节点 let cube = this.Container.getCube(); if (cube != null && cube.getComponent(_crd && Cube_Infor === void 0 ? (_reportPossibleCrUseOfCube_Infor({ error: Error() }), Cube_Infor) : Cube_Infor).state === (_crd && Cube_State === void 0 ? (_reportPossibleCrUseOfCube_State({ error: Error() }), Cube_State) : Cube_State).live) { let newNode = cube; newNode.parent = director.getScene(); newNode.setPosition(this.node.position); this.Container.nodeReferences.push(newNode); console.log(cube.getComponent(_crd && Cube_Infor === void 0 ? (_reportPossibleCrUseOfCube_Infor({ error: Error() }), Cube_Infor) : Cube_Infor).Text); } } }).start(); } }) || _class)); _cclegacy._RF.pop(); _crd = false; } }; }); //# sourceMappingURL=635d373e206601884c96847cb1eeeefae856f2ab.js.map