PerfectHurdleBand.js 3.9 KB

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