GD.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/Script/GD.js';
  5. var __require = nodeEnv ? function (request) {
  6. return cc.require(request);
  7. } : function (request) {
  8. return __quick_compile_project__.require(request, __filename);
  9. };
  10. function __define (exports, require, module) {
  11. if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
  12. cc._RF.push(module, '3b92asAQBZGJZpKL/qRD3e3', 'GD');
  13. // Script/GD.ts
  14. "use strict";
  15. var __extends = (this && this.__extends) || (function () {
  16. var extendStatics = function (d, b) {
  17. extendStatics = Object.setPrototypeOf ||
  18. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  19. function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
  20. return extendStatics(d, b);
  21. };
  22. return function (d, b) {
  23. extendStatics(d, b);
  24. function __() { this.constructor = d; }
  25. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  26. };
  27. })();
  28. var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  29. var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  30. if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  31. else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  32. return c > 3 && r && Object.defineProperty(target, key, r), r;
  33. };
  34. Object.defineProperty(exports, "__esModule", { value: true });
  35. var Global_1 = require("./Global");
  36. var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
  37. var GD = /** @class */ (function (_super) {
  38. __extends(GD, _super);
  39. function GD() {
  40. var _this = _super !== null && _super.apply(this, arguments) || this;
  41. /**
  42. * 落脚点类型 1:向左传送带
  43. */
  44. _this.KIND_FootHold = 0;
  45. /**
  46. * player是否落在落脚点上,默认false,没有
  47. */
  48. _this.isHold = false;
  49. _this.NodeH = 70;
  50. _this.GoUp = false;
  51. _this.main = null;
  52. /**
  53. * 落脚点对应动画
  54. */
  55. _this.Ani = null;
  56. _this.AniState = null;
  57. _this.LifeDing = null;
  58. _this.gainSc = false;
  59. _this.First = false;
  60. return _this;
  61. }
  62. GD.prototype.onLoad = function () {
  63. this.node.y = -500;
  64. };
  65. GD.prototype.start = function () {
  66. var moveStartT = 0;
  67. var moveEndT = 0;
  68. if (this.KIND_FootHold == 1) {
  69. // this.KIND_FootHold = 1;
  70. this.node.x = (Math.random() * 2 - 1) * 140;
  71. if (this.First) {
  72. this.node.x = 0;
  73. }
  74. }
  75. if (this.KIND_FootHold == 7) {
  76. // this.KIND_FootHold = 7;
  77. this.node.x = (Math.random() * 2 - 1) * 140;
  78. }
  79. if (this.KIND_FootHold == 1) {
  80. this.node.getChildByName("gd").getComponent("CliGD").enabled = false;
  81. }
  82. else {
  83. this.node.getChildByName("gd").getComponent("CliGD").enabled = true;
  84. }
  85. this.LifeDing = this.main.LifeDing.children;
  86. };
  87. GD.prototype.update = function (dt) {
  88. // console.log(Global.instance.CollisionFlag);
  89. var self = this;
  90. // console.log("状态:"+ self.node.active+",位置:"+self.node.x);
  91. if (Global_1.default.instance.OverFlag) {
  92. self.enabled = false;
  93. }
  94. else {
  95. this.node.active = true;
  96. if (this.node.isHold) {
  97. Global_1.default.instance.CollisionFlag = true;
  98. Global_1.default.instance.TheHolder = this.node;
  99. this.node.y += Global_1.default.instance.FHFallSpeed;
  100. }
  101. else {
  102. this.node.y += Global_1.default.instance.FHFallSpeed;
  103. }
  104. if (this.node.y > 360) {
  105. if (this.node.isHold) {
  106. this.node.isHold = false;
  107. Global_1.default.instance.CollisionFlag = false;
  108. }
  109. this.node.destroy();
  110. }
  111. }
  112. };
  113. GD.prototype.MoveThis = function () {
  114. };
  115. /**
  116. * 初始化函数
  117. * @param main 主场景
  118. */
  119. GD.prototype.init = function (main, kind) {
  120. this.main = main;
  121. this.KIND_FootHold = kind;
  122. };
  123. /**
  124. * 获取落脚点类型
  125. */
  126. GD.prototype.getKind = function () {
  127. return this.KIND_FootHold;
  128. };
  129. GD.prototype.onCollisionEnter = function (other, self) {
  130. var rootself = this;
  131. // if (rootself.GoUp) {
  132. // console.error("已经碰撞过了");
  133. // return;
  134. // }
  135. if (other.tag == 111) {
  136. rootself.main.Score();
  137. rootself.gainSc = true;
  138. // rootself.GoUp = true;
  139. return;
  140. }
  141. Global_1.default.instance.TheHolder = this.node;
  142. Global_1.default.instance.KIND_FootHold = this.KIND_FootHold;
  143. Global_1.default.instance.CollisionFlag = true;
  144. this.node.isHold = true;
  145. };
  146. __decorate([
  147. property(Boolean)
  148. ], GD.prototype, "isHold", void 0);
  149. __decorate([
  150. property(Number)
  151. ], GD.prototype, "NodeH", void 0);
  152. GD = __decorate([
  153. ccclass
  154. ], GD);
  155. return GD;
  156. }(cc.Component));
  157. exports.default = GD;
  158. cc._RF.pop();
  159. }
  160. if (nodeEnv) {
  161. __define(__module.exports, __require, __module);
  162. }
  163. else {
  164. __quick_compile_project__.registerModuleFunc(__filename, function () {
  165. __define(__module.exports, __require, __module);
  166. });
  167. }
  168. })();
  169. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHRC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxtQ0FBOEI7QUFFeEIsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFHNUM7SUFBZ0Msc0JBQVk7SUFBNUM7UUFBQSxxRUF3SEM7UUF2SEc7O1dBRUc7UUFDSyxtQkFBYSxHQUFHLENBQUMsQ0FBQztRQUMxQjs7V0FFRztRQUVJLFlBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixXQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTFCLFVBQUksR0FBRyxLQUFLLENBQUM7UUFFTCxVQUFJLEdBQWMsSUFBSSxDQUFDO1FBQy9COztXQUVHO1FBQ0gsU0FBRyxHQUFpQixJQUFJLENBQUM7UUFDekIsY0FBUSxHQUFHLElBQUksQ0FBQztRQUNoQixjQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFlBQU0sR0FBRyxLQUFLLENBQUM7UUFHZixXQUFLLEdBQUcsS0FBSyxDQUFDOztJQStGbEIsQ0FBQztJQTlGRyxtQkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUVELGtCQUFLLEdBQUw7UUFDSSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLEVBQUU7WUFDekIsNkJBQTZCO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFFNUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FB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QVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RDLGdCQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ25ELGdCQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUE5R0Q7UUFEQyxRQUFRLENBQUMsT0FBTyxDQUFDO3NDQUNJO0lBRXRCO1FBREMsUUFBUSxDQUFDLE1BQU0sQ0FBQztxQ0FDUztJQVhULEVBQUU7UUFEdEIsT0FBTztPQUNhLEVBQUUsQ0F3SHRCO0lBQUQsU0FBQztDQXhIRCxBQXdIQyxDQXhIK0IsRUFBRSxDQUFDLFNBQVMsR0F3SDNDO2tCQXhIb0IsRUFBRSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNYWluU2NlbmUgZnJvbSBcIi4vTWFpblNjZW5lXCI7XHJcbmltcG9ydCBHbG9iYWwgZnJvbSBcIi4vR2xvYmFsXCI7XHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR0QgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgLyoqXHJcbiAgICAgKiDokL3ohJrngrnnsbvlnosgMe+8muWQkeW3puS8oOmAgeW4plxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIEtJTkRfRm9vdEhvbGQgPSAwO1xyXG4gICAgLyoqXHJcbiAgICAgKiBwbGF5ZXLmmK/lkKbokL3lnKjokL3ohJrngrnkuIrvvIzpu5jorqRmYWxzZe+8jOayoeaciVxyXG4gICAgICovXHJcbiAgICBAcHJvcGVydHkoQm9vbGVhbilcclxuICAgIHB1YmxpYyBpc0hvbGQgPSBmYWxzZTtcclxuICAgIEBwcm9wZXJ0eShOdW1iZXIpXHJcbiAgICBwdWJsaWMgTm9kZUg6IE51bWJlciA9IDcwO1xyXG5cclxuICAgIEdvVXAgPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIG1haW46IE1haW5TY2VuZSA9IG51bGw7XHJcbiAgICAvKipcclxuICAgICAqIOiQveiEmueCueWvueW6lOWKqOeUu1xyXG4gICAgICovXHJcbiAgICBBbmk6IGNjLkFuaW1hdGlvbiA9IG51bGw7XHJcbiAgICBBbmlTdGF0ZSA9IG51bGw7XHJcbiAgICBMaWZlRGluZyA9IG51bGw7XHJcbiAgICBnYWluU2MgPSBmYWxzZTtcclxuXHJcblxyXG4gICAgRmlyc3QgPSBmYWxzZTtcclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLm5vZGUueSA9IC01MDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQoKSB7XHJcbiAgICAgICAgbGV0IG1vdmVTdGFydFQgPSAwO1xyXG4gICAgICAgIGxldCBtb3ZlRW5kVCA9IDA7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLktJTkRfRm9vdEhvbGQgPT0gMSkge1xyXG4gICAgICAgICAgICAvLyB0aGlzLktJTkRfRm9vdEhvbGQgPSAxOyAgIFxyXG4gICAgICAgICAgICB0aGlzLm5vZGUueCA9IChNYXRoLnJhbmRvbSgpICogMiAtIDEpICogMTQwO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuRmlyc3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS54ID0gMFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5LSU5EX0Zvb3RIb2xkID09IDcpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5LSU5EX0Zvb3RIb2xkID0gNztcclxuICAgICAgICAgICAgdGhpcy5ub2RlLnggPSAoTWF0aC5yYW5kb20oKSAqIDIgLSAxKSAqIDE0MDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLktJTkRfRm9vdEhvbGQgPT0gMSkge1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJnZFwiKS5nZXRDb21wb25lbnQoXCJDbGlHRFwiKS5lbmFibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJnZFwiKS5nZXRDb21wb25lbnQoXCJDbGlHRFwiKS5lbmFibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTGlmZURpbmcgPSB0aGlzLm1haW4uTGlmZURpbmcuY2hpbGRyZW47XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlKGR0KSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbkZsYWcpO1xyXG4gICAgICAgIGxldCBzZWxmID0gdGhpcztcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIueKtuaAge+8mlwiKyBzZWxmLm5vZGUuYWN0aXZlK1wi77yM5L2N572u77yaXCIrc2VsZi5ub2RlLngpO1xyXG4gICAgICAgIGlmIChHbG9iYWwuaW5zdGFuY2UuT3ZlckZsYWcpIHtcclxuICAgICAgICAgICAgc2VsZi5lbmFibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKHRoaXMubm9kZS5pc0hvbGQpIHtcclxuICAgICAgICAgICAgICAgIEdsb2JhbC5pbnN0YW5jZS5Db2xsaXNpb25GbGFnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIEdsb2JhbC5pbnN0YW5jZS5UaGVIb2xkZXIgPSB0aGlzLm5vZGU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUueSArPSBHbG9iYWwuaW5zdGFuY2UuRkhGYWxsU3BlZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUueSArPSBHbG9iYWwuaW5zdGFuY2UuRkhGYWxsU3BlZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMubm9kZS55ID4gMzYwKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ub2RlLmlzSG9sZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS5pc0hvbGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uRmxhZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgTW92ZVRoaXMoKSB7XHJcblxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiDliJ3lp4vljJblh73mlbBcclxuICAgICAqIEBwYXJhbSBtYWluIOS4u+WcuuaZr1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaW5pdChtYWluOiBNYWluU2NlbmUsIGtpbmQ/KSB7XHJcbiAgICAgICAgdGhpcy5tYWluID0gbWFpbjtcclxuICAgICAgICB0aGlzLktJTkRfRm9vdEhvbGQgPSBraW5kO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiDojrflj5bokL3ohJrngrnnsbvlnotcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEtpbmQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuS0lORF9Gb290SG9sZDtcclxuICAgIH1cclxuICAgIG9uQ29sbGlzaW9uRW50ZXIob3RoZXIsIHNlbGYpIHtcclxuICAgICAgICBsZXQgcm9vdHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIC8vIGlmIChyb290c2VsZi5Hb1VwKSB7XHJcbiAgICAgICAgLy8gICAgIGNvbnNvbGUuZXJyb3IoXCLlt7Lnu4/norDmkp7ov4fkuoZcIik7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGlmIChvdGhlci50YWcgPT0gMTExKSB7XHJcbiAgICAgICAgICAgIHJvb3RzZWxmLm1haW4uU2NvcmUoKTtcclxuICAgICAgICAgICAgcm9vdHNlbGYuZ2FpblNjID0gdHJ1ZTtcclxuICAgICAgICAgICAgLy8gcm9vdHNlbGYuR29VcCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgR2xvYmFsLmluc3RhbmNlLlRoZUhvbGRlciA9IHRoaXMubm9kZTtcclxuICAgICAgICBHbG9iYWwuaW5zdGFuY2UuS0lORF9Gb290SG9sZCA9IHRoaXMuS0lORF9Gb290SG9sZDtcclxuICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uRmxhZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmlzSG9sZCA9IHRydWU7XHJcbiAgICB9XHJcbn0iXX0=