10529c2f40445bf2a3b9cf468590ba156c9b7a93.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. System.register(["cc"], function (_export, _context) {
  2. "use strict";
  3. var _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, Component, Node, UIOpacity, UITransform, Vec3, Widget, _decorator, easing, instantiate, tween, v3, _dec, _dec2, _class, _crd, ccclass, requireComponent, RewardFly;
  4. return {
  5. setters: [function (_cc) {
  6. _cclegacy = _cc.cclegacy;
  7. __checkObsolete__ = _cc.__checkObsolete__;
  8. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  9. Component = _cc.Component;
  10. Node = _cc.Node;
  11. UIOpacity = _cc.UIOpacity;
  12. UITransform = _cc.UITransform;
  13. Vec3 = _cc.Vec3;
  14. Widget = _cc.Widget;
  15. _decorator = _cc._decorator;
  16. easing = _cc.easing;
  17. instantiate = _cc.instantiate;
  18. tween = _cc.tween;
  19. v3 = _cc.v3;
  20. }],
  21. execute: function () {
  22. _crd = true;
  23. _cclegacy._RF.push({}, "9d999oa7ZtO/Jhnk1+iN63E", "RewardFly", undefined);
  24. __checkObsolete__(['Component', 'EventTouch', 'Node', 'Prefab', 'UIOpacity', 'UITransform', 'Vec3', 'Widget', '_decorator', 'easing', 'instantiate', 'tween', 'v3']);
  25. ({
  26. ccclass,
  27. requireComponent
  28. } = _decorator);
  29. _export("RewardFly", RewardFly = (_dec = ccclass('RewardFly'), _dec2 = requireComponent(UITransform), _dec(_class = _dec2(_class = class RewardFly extends Component {
  30. onLoad() {//this.node.on(Node.EventType.TOUCH_START, function (event: EventTouch) {
  31. //event.propagationStopped = true;
  32. //event.preventSwallow = true;
  33. //}, this, true);
  34. }
  35. onDisable() {
  36. this.node.destroyAllChildren();
  37. }
  38. convertToNodeSpaceAR(target) {
  39. if (target instanceof Node) {
  40. return this.node.getComponent(UITransform).convertToNodeSpaceAR(target.getComponent(UITransform).convertToWorldSpaceAR(Vec3.ZERO));
  41. }
  42. return this.node.getComponent(UITransform).convertToNodeSpaceAR(target);
  43. }
  44. add(opts) {
  45. var _this = this;
  46. var startPos = this.convertToNodeSpaceAR(opts.start);
  47. var endPos = this.convertToNodeSpaceAR(opts.end);
  48. if (opts.endOffset) {
  49. endPos.add3f(opts.endOffset[0], opts.endOffset[1], 0);
  50. }
  51. var nodeCopy = null;
  52. if (opts.highlight) {
  53. if (opts.highlightOffset) {
  54. endPos.add3f(opts.highlightOffset[0], opts.highlightOffset[1], 0);
  55. }
  56. if (opts.highlightArea) {
  57. var _nodeCopy$getComponen;
  58. var endAreaPos = this.convertToNodeSpaceAR(opts.highlightArea);
  59. if (opts.highlightOffset) {
  60. endAreaPos.add3f(opts.highlightOffset[0], opts.highlightOffset[1], 0);
  61. }
  62. nodeCopy = instantiate(opts.highlightArea);
  63. (_nodeCopy$getComponen = nodeCopy.getComponent(Widget)) == null || _nodeCopy$getComponen.destroy();
  64. nodeCopy.setParent(this.node);
  65. nodeCopy.setPosition(endAreaPos);
  66. } else if (Node.isNode(opts.end)) {
  67. var _nodeCopy$getComponen2;
  68. nodeCopy = instantiate(opts.end);
  69. (_nodeCopy$getComponen2 = nodeCopy.getComponent(Widget)) == null || _nodeCopy$getComponen2.destroy();
  70. nodeCopy.setParent(this.node);
  71. nodeCopy.setPosition(endPos);
  72. }
  73. }
  74. var _loop = function _loop(index) {
  75. var aniNode = instantiate(opts.item);
  76. aniNode.setPosition(startPos);
  77. aniNode.setParent(_this.node); // 炸开位置
  78. var midPos = v3(startPos.x, startPos.y, 0);
  79. midPos.x += (Math.random() * 2 - 1) * (opts.startRange ? opts.startRange[0] : 100);
  80. midPos.y += (Math.random() * 2 - 1) * (opts.startRange ? opts.startRange[1] : 100); // 执行动画
  81. (aniNode.getComponent(UIOpacity) || aniNode.addComponent(UIOpacity)).opacity = 0;
  82. tween(aniNode).delay(index * 0.025).call(() => {
  83. aniNode.getComponent(UIOpacity).opacity = 200;
  84. tween(aniNode.getComponent(UIOpacity)).to(0.4, {
  85. opacity: 255
  86. }, {
  87. easing: easing.expoOut
  88. }).start();
  89. }).to(0.4, {
  90. position: midPos
  91. }, {
  92. easing: easing.expoOut
  93. }).call(() => {
  94. tween(aniNode.getComponent(UIOpacity)).delay(0.5).to(0.1, {
  95. opacity: 70
  96. }).start();
  97. }).to(0.6, {
  98. position: endPos
  99. }, {
  100. easing: easing.expoIn
  101. }).call(() => {
  102. if (index === 0) {
  103. // 结束节点缩放
  104. if (nodeCopy) {
  105. var scale = v3(nodeCopy.scale);
  106. tween(nodeCopy).to(0.1, {
  107. scale: v3(scale.x * 1.3, scale.y * 1.3)
  108. }).delay(0.025 * Math.max(opts.count, 4)).to(0.1, {
  109. scale: scale
  110. }).call(() => {
  111. // 结束节点透明销毁
  112. var uiOpacity = nodeCopy.getComponent(UIOpacity) || nodeCopy.addComponent(UIOpacity);
  113. tween(uiOpacity).to(0.1, {
  114. opacity: uiOpacity.opacity * 0.3
  115. }).call(() => nodeCopy.destroy()).start();
  116. }).start();
  117. }
  118. opts.onBegin && opts.onBegin(nodeCopy);
  119. }
  120. opts.onContact && opts.onContact(nodeCopy);
  121. }).delay(0.01).call(() => {
  122. aniNode.destroy();
  123. if (index === opts.count - 1) {
  124. opts.onFinish && opts.onFinish(nodeCopy);
  125. }
  126. }).start();
  127. };
  128. for (var index = 0; index < opts.count; index++) {
  129. _loop(index);
  130. }
  131. }
  132. }) || _class) || _class));
  133. _cclegacy._RF.pop();
  134. _crd = false;
  135. }
  136. };
  137. });
  138. //# sourceMappingURL=10529c2f40445bf2a3b9cf468590ba156c9b7a93.js.map