PerfectLongJumpBand.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. const PlayerStateStatic = require('PlayerState');
  2. var BarrierSuperClass = require("BarrierSuper");
  3. cc.Class({
  4. extends: BarrierSuperClass,
  5. properties: {
  6. },
  7. start() {
  8. },
  9. onCollisionEnter: function (other) {
  10. if (other.node.name === 'PlayerCollisionLine') {
  11. var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
  12. var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
  13. PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.PerfectLongJumpBand;
  14. PlayerStateScript.PerfectLongJumpBandCenterTouched = this;
  15. // //自动跳远
  16. // this.NodeTouch = cc.find("TouchLayout").getComponent("NodeTouch");
  17. // if (!PlayerStateScript.BTouchedScreenInTheZone) {
  18. // this.NodeTouch.TOUCH_START(true);
  19. // }
  20. // cc.log(PlayerStateScript.CurrentInZoneType );
  21. }
  22. if (other.node.name === 'LocationLine') {
  23. //perfect完美提示
  24. cc.find('UIControl').getComponent('GameUI').hideTimerPerfect(3);
  25. cc.find('Hero').getComponent('HeroControl').addPerfectGradeAndPlay();
  26. this.node.opacity = 0;
  27. }
  28. },
  29. onCollisionExit: function (other) {
  30. if (other.node.name === 'PlayerCollisionLine') {
  31. var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
  32. var HeroControlScript = PlayerCollisionLine.Hero.getComponent("HeroControl");
  33. var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
  34. if(PlayerStateScript.enableTouch){//没有点击时候自动跳远
  35. PlayerStateScript.enableTouch = false;
  36. PlayerStateScript.BTouchedScreenInTheZone = true;
  37. //todo 结束时候自动跳远
  38. PlayerStateScript.BTouchedScreenInTheZone_jumpLong = true;
  39. HeroControlScript.HeroLongJump("Hero");
  40. PlayerStateScript.schedule(function () {
  41. PlayerStateScript.enableTouch = true;
  42. }.bind(this), 5, 0);
  43. }
  44. // if (!PlayerStateScript.BTouchedScreenInTheZone) {
  45. // HeroControlScript.Stagger();
  46. // }
  47. PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.None;
  48. PlayerStateScript.BTouchedScreenInTheZone = false;
  49. }
  50. }
  51. });