dici.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/Script/dici.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, '6716cKnH+ZFHoUln1bHKGgS', 'dici');
  13. // Script/dici.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 NewClass = /** @class */ (function (_super) {
  38. __extends(NewClass, _super);
  39. function NewClass() {
  40. var _this = _super !== null && _super.apply(this, arguments) || this;
  41. /**
  42. * 落脚点类型 6:地刺
  43. */
  44. _this.KIND_FootHold = 6;
  45. /**
  46. * player是否落在落脚点上,默认false,没有
  47. */
  48. _this.isHold = false;
  49. _this.NodeH = 80;
  50. _this.GoUp = false;
  51. _this.main = null;
  52. /**
  53. * 落脚点对应动画
  54. */
  55. _this.Ani = null;
  56. _this.AniState = null;
  57. _this.gainSc = false;
  58. _this.InjuredF = false;
  59. return _this;
  60. }
  61. // LIFE-CYCLE CALLBACKS:
  62. NewClass.prototype.onLoad = function () {
  63. this.node.y = -500;
  64. this.node.x = (Math.random() * 2 - 1) * 140;
  65. this.Ani = this.node.getComponent(cc.Animation);
  66. };
  67. NewClass.prototype.start = function () {
  68. };
  69. NewClass.prototype.update = function (dt) {
  70. // console.log(Global.instance.CollisionFlag);
  71. var self = this;
  72. if (Global_1.default.instance.OverFlag) {
  73. self.enabled = false;
  74. }
  75. else {
  76. this.node.active = true;
  77. this.node.y += Global_1.default.instance.FHFallSpeed;
  78. if (this.node.isHold) {
  79. Global_1.default.instance.CollisionFlag = true;
  80. Global_1.default.instance.TheHolder = this.node;
  81. }
  82. if (this.node.y > 360) {
  83. if (this.node.isHold) {
  84. Global_1.default.instance.CollisionFlag = false;
  85. this.node.isHold = false;
  86. }
  87. this.node.destroy();
  88. }
  89. }
  90. };
  91. /**
  92. * 初始化函数
  93. * @param main 主场景
  94. */
  95. NewClass.prototype.init = function (main) {
  96. this.main = main;
  97. };
  98. /**
  99. * 获取落脚点类型
  100. */
  101. NewClass.prototype.getKind = function () {
  102. return this.KIND_FootHold;
  103. };
  104. NewClass.prototype.onCollisionEnter = function (other, self) {
  105. var rootself = this;
  106. if (rootself.GoUp) {
  107. return;
  108. }
  109. if (other.tag == 111) {
  110. console.log("我被撞到了");
  111. rootself.main.Score();
  112. rootself.gainSc = true;
  113. return;
  114. }
  115. else {
  116. Global_1.default.instance.TheHolder = this.node;
  117. Global_1.default.instance.KIND_FootHold = this.KIND_FootHold;
  118. rootself.node.isHold = true;
  119. self.node.isHold = true;
  120. if (!rootself.InjuredF) {
  121. Global_1.default.instance.Injured = true;
  122. rootself.InjuredF = true;
  123. }
  124. // this.main.Score();
  125. if (!Global_1.default.instance.CollisionFlag) {
  126. Global_1.default.instance.CollisionFlag = true;
  127. rootself.node.isHold = true;
  128. self.node.isHold = true;
  129. rootself.AniState = rootself.Ani.play("dici");
  130. rootself.AniState.repeatCount = 100;
  131. }
  132. }
  133. };
  134. __decorate([
  135. property(Boolean)
  136. ], NewClass.prototype, "isHold", void 0);
  137. __decorate([
  138. property(Number)
  139. ], NewClass.prototype, "NodeH", void 0);
  140. NewClass = __decorate([
  141. ccclass
  142. ], NewClass);
  143. return NewClass;
  144. }(cc.Component));
  145. exports.default = NewClass;
  146. /**
  147. * 地刺的问题貌似还没有解决
  148. * 不知道哪里有问题
  149. * 地刺的问题到底是碰撞标志位被修改了。
  150. *
  151. */
  152. cc._RF.pop();
  153. }
  154. if (nodeEnv) {
  155. __define(__module.exports, __require, __module);
  156. }
  157. else {
  158. __quick_compile_project__.registerModuleFunc(__filename, function () {
  159. __define(__module.exports, __require, __module);
  160. });
  161. }
  162. })();
  163. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxkaWNpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG1DQUE4QjtBQUV4QixJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXVHQztRQXRHRzs7V0FFRztRQUNLLG1CQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQzFCOztXQUVHO1FBRUksWUFBTSxHQUFHLEtBQUssQ0FBQztRQUdmLFdBQUssR0FBVSxFQUFFLENBQUM7UUFFekIsVUFBSSxHQUFHLEtBQUssQ0FBQztRQUVMLFVBQUksR0FBYSxJQUFJLENBQUM7UUFDOUI7O1dBRUc7UUFDSCxTQUFHLEdBQWdCLElBQUksQ0FBQztRQUN4QixjQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFlBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixjQUFRLEdBQUcsS0FBSyxDQUFDOztJQStFckIsQ0FBQztJQTlFRyx3QkFBd0I7SUFFeEIseUJBQU0sR0FBTjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxHQUFHLENBQUM7UUFDdkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELHdCQUFLLEdBQUw7SUFFQSxDQUFDO0lBRUQseUJBQU0sR0FBTixVQUFRLEVBQUU7UUFDTiw4Q0FBOEM7UUFDOUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUcsZ0JBQU0sQ0FBQyxRQUFR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Q2EsUUFBUSxDQXVHNUI7SUFBRCxlQUFDO0NBdkdELEFBdUdDLENBdkdxQyxFQUFFLENBQUMsU0FBUyxHQXVHakQ7a0JBdkdvQixRQUFRO0FBd0c3Qjs7Ozs7R0FLRyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNYWluU2NlbmUgZnJvbSBcIi4vTWFpblNjZW5lXCI7XHJcbmltcG9ydCBHbG9iYWwgZnJvbSBcIi4vR2xvYmFsXCI7XHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKlxyXG4gICAgICog6JC96ISa54K557G75Z6LIDbvvJrlnLDliLpcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBLSU5EX0Zvb3RIb2xkID0gNjtcclxuICAgIC8qKlxyXG4gICAgICogcGxheWVy5piv5ZCm6JC95Zyo6JC96ISa54K55LiK77yM6buY6K6kZmFsc2XvvIzmsqHmnIlcclxuICAgICAqL1xyXG4gICAgQHByb3BlcnR5KEJvb2xlYW4pXHJcbiAgICBwdWJsaWMgaXNIb2xkID0gZmFsc2U7XHJcblxyXG4gICAgQHByb3BlcnR5KE51bWJlcilcclxuICAgIHB1YmxpYyBOb2RlSDpudW1iZXIgPSA4MDtcclxuXHJcbiAgICBHb1VwID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBtYWluOk1haW5TY2VuZSA9IG51bGw7XHJcbiAgICAvKipcclxuICAgICAqIOiQveiEmueCueWvueW6lOWKqOeUu1xyXG4gICAgICovXHJcbiAgICBBbmk6Y2MuQW5pbWF0aW9uID0gbnVsbDtcclxuICAgIEFuaVN0YXRlID0gbnVsbDtcclxuICAgIGdhaW5TYyA9IGZhbHNlO1xyXG4gICAgXHJcbiAgICBJbmp1cmVkRiA9IGZhbHNlO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICB0aGlzLm5vZGUueSA9IC01MDA7XHJcbiAgICAgICAgdGhpcy5ub2RlLnggPSAoIE1hdGgucmFuZG9tKCkqMi0xKSoxNDA7XHJcbiAgICAgICAgdGhpcy5BbmkgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLkFuaW1hdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUgKGR0KSB7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbkZsYWcpO1xyXG4gICAgICAgIGxldCBzZWxmID0gdGhpcztcclxuICAgICAgICBpZihHbG9iYWwuaW5zdGFuY2UuT3ZlckZsYWcpe1xyXG4gICAgICAgICAgICBzZWxmLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS55ICs9IEdsb2JhbC5pbnN0YW5jZS5GSEZhbGxTcGVlZDtcclxuICAgICAgICAgICAgaWYodGhpcy5ub2RlLmlzSG9sZCl7XHJcbiAgICAgICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uRmxhZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuVGhlSG9sZGVyID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS55PjM2MCl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUuaXNIb2xkKXtcclxuICAgICAgICAgICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uRmxhZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm9kZS5pc0hvbGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOWIneWni+WMluWHveaVsFxyXG4gICAgICogQHBhcmFtIG1haW4g5Li75Zy65pmvXHJcbiAgICAgKi9cclxuICAgIGluaXQobWFpbjpNYWluU2NlbmUpe1xyXG4gICAgICAgIHRoaXMubWFpbiA9IG1haW47XHJcbiAgICB9IFxyXG4gICAgLyoqXHJcbiAgICAqIOiOt+WPluiQveiEmueCueexu+Wei1xyXG4gICAgKi9cclxuICAgIHB1YmxpYyBnZXRLaW5kKCl7XHJcbiAgICAgICByZXR1cm4gdGhpcy5LSU5EX0Zvb3RIb2xkO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ29sbGlzaW9uRW50ZXIob3RoZXIsc2VsZil7XHJcbiAgICAgICAgbGV0IHJvb3RzZWxmID0gdGhpcztcclxuICAgICAgICBpZihyb290c2VsZi5Hb1VwKXtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihvdGhlci50YWcgPT0gMTExKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCLmiJHooqvmkp7liLDkuoZcIik7XHJcbiAgICAgICAgICAgIHJvb3RzZWxmLm1haW4uU2NvcmUoKTtcclxuICAgICAgICAgICAgcm9vdHNlbGYuZ2FpblNjID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuVGhlSG9sZGVyID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuS0lORF9Gb290SG9sZCA9IHRoaXMuS0lORF9Gb290SG9sZDtcclxuICAgICAgICAgICAgcm9vdHNlbGYubm9kZS5pc0hvbGQgPSB0cnVlO1xyXG4gICAgICAgICAgICBzZWxmLm5vZGUuaXNIb2xkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYoIXJvb3RzZWxmLkluanVyZWRGKXtcclxuICAgICAgICAgICAgICAgIEdsb2JhbC5pbnN0YW5jZS5Jbmp1cmVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHJvb3RzZWxmLkluanVyZWRGID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyB0aGlzLm1haW4uU2NvcmUoKTtcclxuICAgICAgICAgICAgaWYoIUdsb2JhbC5pbnN0YW5jZS5Db2xsaXNpb25GbGFnKXtcclxuICAgICAgICAgICAgICAgIEdsb2JhbC5pbnN0YW5jZS5Db2xsaXNpb25GbGFnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHJvb3RzZWxmLm5vZGUuaXNIb2xkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNlbGYubm9kZS5pc0hvbGQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgcm9vdHNlbGYuQW5pU3RhdGUgPSByb290c2VsZi5BbmkucGxheShcImRpY2lcIik7XHJcbiAgICAgICAgICAgICAgICByb290c2VsZi5BbmlTdGF0ZS5yZXBlYXRDb3VudCA9IDEwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKipcclxuICog5Zyw5Yi655qE6Zeu6aKY6LKM5Ly86L+Y5rKh5pyJ6Kej5YazXHJcbiAqIOS4jeefpemBk+WTqumHjOaciemXrumimFxyXG4gKiDlnLDliLrnmoTpl67popjliLDlupXmmK/norDmkp7moIflv5fkvY3ooqvkv67mlLnkuobjgIJcclxuICogXHJcbiAqL1xyXG4iXX0=