PerfectLongJumpBand.js 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. const PlayerStateStatic = require('PlayerState');
  2. cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. },
  6. start () {
  7. },
  8. // onCollisionEnter: function (other) {
  9. // if(other.node.name === 'PlayerCollisionLine')
  10. // {
  11. // var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
  12. // var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
  13. // PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.PerfectLongJumpBand;
  14. //
  15. // PlayerStateScript.PerfectLongJumpBandCenterTouched = this;
  16. //
  17. // // cc.log(PlayerStateScript.CurrentInZoneType );
  18. // }
  19. // },
  20. // onCollisionStay: function (other) {
  21. // // console.log('on collision stay');
  22. // },
  23. // onCollisionExit: function (other)
  24. // {
  25. // if(other.node.name === 'PlayerCollisionLine') {
  26. // var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
  27. // var HeroControlScript = PlayerCollisionLine.Hero.getComponent("HeroControl");
  28. // var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
  29. // if(!PlayerStateScript.BTouchedScreenInTheZone)
  30. // {
  31. // HeroControlScript.HeroLongJumpStagger();
  32. // }else{
  33. // var Hero = cc.find("Hero");
  34. // Hero.getComponent("Distance").startDistance(0,true);
  35. // // CustomLog("跳远 起跳1",p);
  36. // }
  37. // PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.None;
  38. // PlayerStateScript.BTouchedScreenInTheZone = false;
  39. // }
  40. // },
  41. // 只在两个碰撞体开始接触时被调用一次
  42. onBeginContact: function (contact, selfCollider, otherCollider) {
  43. // CustomLog("撞了",otherCollider);
  44. if(otherCollider.node.name === 'Hero')
  45. {
  46. CustomLog("刚体 跳远 完美 ,",otherCollider.node.name);
  47. var PlayerStateScript = otherCollider.getComponent("PlayerState");
  48. PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.PerfectLongJumpBand;
  49. PlayerStateScript.PerfectLongJumpBandCenterTouched = this;
  50. }
  51. },
  52. // 只在两个碰撞体结束接触时被调用一次
  53. onEndContact: function (contact, selfCollider, otherCollider) {
  54. if(otherCollider.node.name === 'Hero')
  55. {
  56. // var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
  57. var HeroControlScript = otherCollider.getComponent("HeroControl");
  58. var PlayerStateScript = otherCollider.getComponent("PlayerState");
  59. if(!PlayerStateScript.BTouchedScreenInTheZone)
  60. {
  61. HeroControlScript.HeroLongJumpStagger();
  62. }else{
  63. // var Hero = cc.find("Hero");
  64. otherCollider.getComponent("Distance").startDistance(0,true);
  65. // CustomLog("跳远 起跳1",p);
  66. }
  67. PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.None;
  68. PlayerStateScript.BTouchedScreenInTheZone = false;
  69. }
  70. },
  71. // 每次将要处理碰撞体接触逻辑时被调用
  72. onPreSolve: function (contact, selfCollider, otherCollider) {
  73. },
  74. // 每次处理完碰撞体接触逻辑时被调用
  75. onPostSolve: function (contact, selfCollider, otherCollider) {
  76. },
  77. });