123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- System.register(["cc"], function (_export, _context) {
- "use strict";
- var _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, Component, Node, UIOpacity, UITransform, Vec3, Widget, _decorator, easing, instantiate, tween, v3, _dec, _dec2, _class, _crd, ccclass, requireComponent, RewardFly;
- return {
- setters: [function (_cc) {
- _cclegacy = _cc.cclegacy;
- __checkObsolete__ = _cc.__checkObsolete__;
- __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
- Component = _cc.Component;
- Node = _cc.Node;
- UIOpacity = _cc.UIOpacity;
- UITransform = _cc.UITransform;
- Vec3 = _cc.Vec3;
- Widget = _cc.Widget;
- _decorator = _cc._decorator;
- easing = _cc.easing;
- instantiate = _cc.instantiate;
- tween = _cc.tween;
- v3 = _cc.v3;
- }],
- execute: function () {
- _crd = true;
- _cclegacy._RF.push({}, "9d999oa7ZtO/Jhnk1+iN63E", "RewardFly", undefined);
- __checkObsolete__(['Component', 'EventTouch', 'Node', 'Prefab', 'UIOpacity', 'UITransform', 'Vec3', 'Widget', '_decorator', 'easing', 'instantiate', 'tween', 'v3']);
- ({
- ccclass,
- requireComponent
- } = _decorator);
- _export("RewardFly", RewardFly = (_dec = ccclass('RewardFly'), _dec2 = requireComponent(UITransform), _dec(_class = _dec2(_class = class RewardFly extends Component {
- onLoad() {//this.node.on(Node.EventType.TOUCH_START, function (event: EventTouch) {
- //event.propagationStopped = true;
- //event.preventSwallow = true;
- //}, this, true);
- }
- onDisable() {
- this.node.destroyAllChildren();
- }
- convertToNodeSpaceAR(target) {
- if (target instanceof Node) {
- return this.node.getComponent(UITransform).convertToNodeSpaceAR(target.getComponent(UITransform).convertToWorldSpaceAR(Vec3.ZERO));
- }
- return this.node.getComponent(UITransform).convertToNodeSpaceAR(target);
- }
- add(opts) {
- const startPos = this.convertToNodeSpaceAR(opts.start);
- const endPos = this.convertToNodeSpaceAR(opts.end);
- if (opts.endOffset) {
- endPos.add3f(opts.endOffset[0], opts.endOffset[1], 0);
- }
- let nodeCopy = null;
- if (opts.highlight) {
- if (opts.highlightOffset) {
- endPos.add3f(opts.highlightOffset[0], opts.highlightOffset[1], 0);
- }
- if (opts.highlightArea) {
- var _nodeCopy$getComponen;
- const endAreaPos = this.convertToNodeSpaceAR(opts.highlightArea);
- if (opts.highlightOffset) {
- endAreaPos.add3f(opts.highlightOffset[0], opts.highlightOffset[1], 0);
- }
- nodeCopy = instantiate(opts.highlightArea);
- (_nodeCopy$getComponen = nodeCopy.getComponent(Widget)) == null || _nodeCopy$getComponen.destroy();
- nodeCopy.setParent(this.node);
- nodeCopy.setPosition(endAreaPos);
- } else if (Node.isNode(opts.end)) {
- var _nodeCopy$getComponen2;
- nodeCopy = instantiate(opts.end);
- (_nodeCopy$getComponen2 = nodeCopy.getComponent(Widget)) == null || _nodeCopy$getComponen2.destroy();
- nodeCopy.setParent(this.node);
- nodeCopy.setPosition(endPos);
- }
- }
- for (let index = 0; index < opts.count; index++) {
- const aniNode = instantiate(opts.item);
- aniNode.setPosition(startPos);
- aniNode.setParent(this.node); // 炸开位置
- const midPos = v3(startPos.x, startPos.y, 0);
- midPos.x += (Math.random() * 2 - 1) * (opts.startRange ? opts.startRange[0] : 100);
- midPos.y += (Math.random() * 2 - 1) * (opts.startRange ? opts.startRange[1] : 100); // 执行动画
- (aniNode.getComponent(UIOpacity) || aniNode.addComponent(UIOpacity)).opacity = 0;
- tween(aniNode).delay(index * 0.025).call(() => {
- aniNode.getComponent(UIOpacity).opacity = 200;
- tween(aniNode.getComponent(UIOpacity)).to(0.4, {
- opacity: 255
- }, {
- easing: easing.expoOut
- }).start();
- }).to(0.4, {
- position: midPos
- }, {
- easing: easing.expoOut
- }).call(() => {
- tween(aniNode.getComponent(UIOpacity)).delay(0.5).to(0.1, {
- opacity: 70
- }).start();
- }).to(0.6, {
- position: endPos
- }, {
- easing: easing.expoIn
- }).call(() => {
- if (index === 0) {
- // 结束节点缩放
- if (nodeCopy) {
- const scale = v3(nodeCopy.scale);
- tween(nodeCopy).to(0.1, {
- scale: v3(scale.x * 1.3, scale.y * 1.3)
- }).delay(0.025 * Math.max(opts.count, 4)).to(0.1, {
- scale: scale
- }).call(() => {
- // 结束节点透明销毁
- const uiOpacity = nodeCopy.getComponent(UIOpacity) || nodeCopy.addComponent(UIOpacity);
- tween(uiOpacity).to(0.1, {
- opacity: uiOpacity.opacity * 0.3
- }).call(() => nodeCopy.destroy()).start();
- }).start();
- }
- opts.onBegin && opts.onBegin(nodeCopy);
- }
- opts.onContact && opts.onContact(nodeCopy);
- }).delay(0.01).call(() => {
- aniNode.destroy();
- if (index === opts.count - 1) {
- opts.onFinish && opts.onFinish(nodeCopy);
- }
- }).start();
- }
- }
- }) || _class) || _class));
- _cclegacy._RF.pop();
- _crd = false;
- }
- };
- });
- //# sourceMappingURL=57deb5177648dd005bf9c8c57edd5bbe6c5455ae.js.map
|