Playcontroler.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/Script/Playcontroler.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, 'bd769BizYREq7pMZmW+fkhf', 'Playcontroler');
  13. // Script/Playcontroler.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 Playcontroler = /** @class */ (function (_super) {
  38. __extends(Playcontroler, _super);
  39. function Playcontroler() {
  40. // LIFE-CYCLE CALLBACKS:
  41. var _this = _super !== null && _super.apply(this, arguments) || this;
  42. // parent:cc.Node = null;
  43. _this.MainScene = null;
  44. return _this;
  45. }
  46. Playcontroler.prototype.onLoad = function () {
  47. cc.game.setFrameRate(59);
  48. // this.parent = this.node.parent;
  49. this.MainScene = Global_1.default.instance.getMN();
  50. };
  51. Playcontroler.prototype.start = function () {
  52. };
  53. Playcontroler.prototype.update = function (dt) {
  54. if (Global_1.default.instance.OverFlag) {
  55. this.enabled = false;
  56. }
  57. else {
  58. if (!Global_1.default.instance.CollisionFlag) {
  59. this.node.y -= Global_1.default.instance.InitSpeed;
  60. }
  61. else {
  62. var name = Global_1.default.instance.TheHolder.name;
  63. if (name == "") {
  64. return;
  65. }
  66. this.node.y = Global_1.default.instance.TheHolder.y
  67. + Global_1.default.instance.TheHolder.getComponent(name).NodeH - 5; //here ,this way isnot a good Processing method,should be optimizated
  68. }
  69. }
  70. if (Global_1.default.instance.CollisionWithDing) {
  71. this.node.stopAllActions();
  72. Global_1.default.instance.CollisionWithDing = false;
  73. Global_1.default.instance.CollisionFlag = false;
  74. }
  75. };
  76. /**
  77. * player与墙壁的碰撞检测
  78. * @param other 被撞物体
  79. * @param self 碰撞体
  80. */
  81. Playcontroler.prototype.onCollisionEnter = function (other, self) {
  82. var rootSelf = this;
  83. switch (other.node.name) {
  84. case "Bg_0CollisionR": {
  85. self.node.x = 180;
  86. break;
  87. }
  88. case "Bg_0CollisionL": {
  89. self.node.x = -180;
  90. break;
  91. }
  92. case "Bg_1CollisionR": {
  93. self.node.x = 180;
  94. break;
  95. }
  96. case "Bg_1CollisionL": {
  97. self.node.x = -180;
  98. break;
  99. }
  100. // case "tanhuang":{
  101. // if(other.node.x+75>self.node.x&&other.node.x-75<self.node.x){
  102. // let main = Global.instance.getMN();
  103. // main.getChildByName("output").getComponent(cc.Label).string = "tanhuang";
  104. // }
  105. // }
  106. case "ding": {
  107. Global_1.default.instance.CollisionWithDing = true;
  108. self.node.stopAllActions();
  109. rootSelf.LifeZero();
  110. Global_1.default.instance.CollisionFlag = false;
  111. self.node.getComponent(cc.BoxCollider).enabled = false;
  112. rootSelf.scheduleOnce(function (err) {
  113. self.node.getComponent(cc.BoxCollider).enabled = true;
  114. }, 0.3);
  115. break;
  116. }
  117. default: {
  118. // this.MainScene.getComponent("MainScene").Score();//得分
  119. break;
  120. }
  121. }
  122. };
  123. Playcontroler.prototype.LifeZero = function () {
  124. var main = Global_1.default.instance.getMN();
  125. var lifeChil = main.getChildByName("BgNode").getChildByName("LifeDing").children;
  126. var life = new Array();
  127. var lifeNum = 0;
  128. for (var i = 0; i < lifeChil.length; i++) {
  129. if (lifeChil[i].name == "lifeBG") {
  130. life.push(lifeChil[i]);
  131. }
  132. }
  133. for (var i = 0; i < life.length; i++) {
  134. if (life[i].active) {
  135. lifeNum++;
  136. }
  137. }
  138. if (lifeNum == 0) {
  139. return;
  140. }
  141. };
  142. Playcontroler = __decorate([
  143. ccclass
  144. ], Playcontroler);
  145. return Playcontroler;
  146. }(cc.Component));
  147. exports.default = Playcontroler;
  148. /**
  149. * 1.下落速度加快;
  150. * 2.玻璃:先停一会在碎掉;
  151. * 3.传送带速度快一点;
  152. * 4.
  153. */
  154. cc._RF.pop();
  155. }
  156. if (nodeEnv) {
  157. __define(__module.exports, __require, __module);
  158. }
  159. else {
  160. __quick_compile_project__.registerModuleFunc(__filename, function () {
  161. __define(__module.exports, __require, __module);
  162. });
  163. }
  164. })();
  165. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxQbGF5Y29udHJvbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQUE4QjtBQUV4QixJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUc1QztJQUEyQyxpQ0FBWTtJQUF2RDtRQUVJLHdCQUF3QjtRQUY1QixxRUFvSEM7UUFoSEcseUJBQXlCO1FBQ3pCLGVBQVMsR0FBaUIsSUFBSSxDQUFDOztJQStHbkMsQ0FBQztJQTlHRyw4QkFBTSxHQUFOO1FBQ0ksRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDeEIsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELDZCQUFLLEdBQUw7SUFFQSxDQUFDO0lBRUQsOEJBQU0sR0FBTixVQUFPLEVBQUU7UUFHTCxJQUFJLGdCQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN4QjthQUNJO1lBQ0QsSUFBSSxDQUFDLGdCQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksZ0JBQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2FBRTVDO2lCQUNJO2dCQUNELElBQUksSUFBSSxHQUFHLGdCQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQzFDLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBRTtvQkFDWixPQUFPO2lCQUNWO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLGdCQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxD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LENBQUMsQ0FBQyxDQUFDO2FBQzFCO1NBQ0o7UUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDO2FBQ2I7U0FDSjtRQUNELElBQUksT0FBTyxJQUFJLENBQUMsRUFBRTtZQUNkLE9BQU87U0FDVjtJQUNMLENBQUM7SUFuSGdCLGFBQWE7UUFEakMsT0FBTztPQUNhLGFBQWEsQ0FvSGpDO0lBQUQsb0JBQUM7Q0FwSEQsQUFvSEMsQ0FwSDBDLEVBQUUsQ0FBQyxTQUFTLEdBb0h0RDtrQkFwSG9CLGFBQWE7QUFzSGxDOzs7OztHQUtHIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEdsb2JhbCBmcm9tIFwiLi9HbG9iYWxcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQbGF5Y29udHJvbGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBwYXJlbnQ6Y2MuTm9kZSA9IG51bGw7XHJcbiAgICBNYWluU2NlbmU6IGNjLkNvbXBvbmVudCA9IG51bGw7XHJcbiAgICBvbkxvYWQoKSB7XHJcbiAgICAgICAgY2MuZ2FtZS5zZXRGcmFtZVJhdGUoNTkpXHJcbiAgICAgICAgLy8gdGhpcy5wYXJlbnQgPSB0aGlzLm5vZGUucGFyZW50O1xyXG4gICAgICAgIHRoaXMuTWFpblNjZW5lID0gR2xvYmFsLmluc3RhbmNlLmdldE1OKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZShkdCkge1xyXG5cclxuXHJcbiAgICAgICAgaWYgKEdsb2JhbC5pbnN0YW5jZS5PdmVyRmxhZykge1xyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbkZsYWcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS55IC09IEdsb2JhbC5pbnN0YW5jZS5Jbml0U3BlZWQ7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IG5hbWUgPSBHbG9iYWwuaW5zdGFuY2UuVGhlSG9sZGVyLm5hbWU7XHJcbiAgICAgICAgICAgICAgICBpZiAobmFtZSA9PSBcIlwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLnkgPSBHbG9iYWwuaW5zdGFuY2UuVGhlSG9sZGVyLnlcclxuICAgICAgICAgICAgICAgICAgICArIEdsb2JhbC5pbnN0YW5jZS5UaGVIb2xkZXIuZ2V0Q29tcG9uZW50KG5hbWUpLk5vZGVIIC0gNTsvL2hlcmUgLHRoaXMgd2F5IGlzbm90IGEgZ29vZCBQcm9jZXNzaW5nIG1ldGhvZCxzaG91bGQgYmUgb3B0aW1pemF0ZWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbldpdGhEaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5zdG9wQWxsQWN0aW9ucygpO1xyXG4gICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uV2l0aERpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbkZsYWcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogcGxheWVy5LiO5aKZ5aOB55qE56Kw5pKe5qOA5rWLXHJcbiAgICAgKiBAcGFyYW0gb3RoZXIg6KKr5pKe54mp5L2TXHJcbiAgICAgKiBAcGFyYW0gc2VsZiDnorDmkp7kvZNcclxuICAgICAqL1xyXG4gICAgb25Db2xsaXNpb25FbnRlcihvdGhlciwgc2VsZikge1xyXG5cclxuICAgICAgICBsZXQgcm9vdFNlbGYgPSB0aGlzO1xyXG5cclxuXHJcbiAgICAgICAgc3dpdGNoIChvdGhlci5ub2RlLm5hbWUpIHtcclxuICAgICAgICAgICAgY2FzZSBcIkJnXzBDb2xsaXNpb25SXCI6IHtcclxuICAgICAgICAgICAgICAgIHNlbGYubm9kZS54ID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSBcIkJnXzBDb2xsaXNpb25MXCI6IHtcclxuICAgICAgICAgICAgICAgIHNlbGYubm9kZS54ID0gLTE4MDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgXCJCZ18xQ29sbGlzaW9uUlwiOiB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLm5vZGUueCA9IDE4MDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgXCJCZ18xQ29sbGlzaW9uTFwiOiB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLm5vZGUueCA9IC0xODA7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBjYXNlIFwidGFuaHVhbmdcIjp7XHJcbiAgICAgICAgICAgIC8vICAgICBpZihvdGhlci5ub2RlLngrNzU+c2VsZi5ub2RlLngmJm90aGVyLm5vZGUueC03NTxzZWxmLm5vZGUueCl7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgbGV0IG1haW4gPSBHbG9iYWwuaW5zdGFuY2UuZ2V0TU4oKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICBtYWluLmdldENoaWxkQnlOYW1lKFwib3V0cHV0XCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCJ0YW5odWFuZ1wiO1xyXG5cclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBjYXNlIFwiZGluZ1wiOiB7XHJcbiAgICAgICAgICAgICAgICBHbG9iYWwuaW5zdGFuY2UuQ29sbGlzaW9uV2l0aERpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5ub2RlLnN0b3BBbGxBY3Rpb25zKCk7XHJcbiAgICAgICAgICAgICAgICByb290U2VsZi5MaWZlWmVybygpO1xyXG4gICAgICAgICAgICAgICAgR2xvYmFsLmluc3RhbmNlLkNvbGxpc2lvbkZsYWcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYubm9kZS5nZXRDb21wb25lbnQoY2MuQm94Q29sbGlkZXIpLmVuYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJvb3RTZWxmLnNjaGVkdWxlT25jZShmdW5jdGlvbiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5ub2RlLmdldENvbXBvbmVudChjYy5Cb3hDb2xsaWRlcikuZW5hYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9LCAwLjMpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5NYWluU2NlbmUuZ2V0Q29tcG9uZW50KFwiTWFpblNjZW5lXCIpLlNjb3JlKCk7Ly/lvpfliIZcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBMaWZlWmVybygpIHtcclxuICAgICAgICBsZXQgbWFpbiA9IEdsb2JhbC5pbnN0YW5jZS5nZXRNTigpO1xyXG4gICAgICAgIGxldCBsaWZlQ2hpbCA9IG1haW4uZ2V0Q2hpbGRCeU5hbWUoXCJCZ05vZGVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJMaWZlRGluZ1wiKS5jaGlsZHJlbjtcclxuICAgICAgICBsZXQgbGlmZSA9IG5ldyBBcnJheSgpO1xyXG4gICAgICAgIGxldCBsaWZlTnVtID0gMDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpZmVDaGlsLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChsaWZlQ2hpbFtpXS5uYW1lID09IFwibGlmZUJHXCIpIHtcclxuICAgICAgICAgICAgICAgIGxpZmUucHVzaChsaWZlQ2hpbFtpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaWZlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChsaWZlW2ldLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgbGlmZU51bSsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsaWZlTnVtID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIDEu5LiL6JC96YCf5bqm5Yqg5b+r77ybXHJcbiAqIDIu546755KD77ya5YWI5YGc5LiA5Lya5Zyo56KO5o6J77ybXHJcbiAqIDMu5Lyg6YCB5bim6YCf5bqm5b+r5LiA54K577ybXHJcbiAqIDQuXHJcbiAqLyJdfQ==