RightLongAccelerationBand.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. const PlayerStateStatic = require('PlayerState');
  2. cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. },
  6. start () {
  7. },
  8. // onCollisionEnter: function (other) {
  9. // // cc.log(other.node.name+'Enter');
  10. // if(other.node.name === 'PlayerCollisionLine')
  11. // {
  12. // var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
  13. // var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
  14. // PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.BehindLongAccelerationBand;
  15. // }
  16. // },
  17. // onCollisionStay: function (other) {
  18. //
  19. // },
  20. // onCollisionExit: function (other) {
  21. //
  22. // if(other.node.name === 'PlayerCollisionLine') {
  23. // var PlayerCollisionLine = other.getComponent("PlayerCollisionLine");
  24. // var PlayerStateScript = PlayerCollisionLine.Hero.getComponent("PlayerState");
  25. // if (!PlayerStateScript.BTouchedScreenInTheZone) {
  26. // var HeroControlScript = PlayerCollisionLine.Hero.getComponent("HeroControl");
  27. // HeroControlScript.Stagger();
  28. // }
  29. // PlayerStateScript.BTouchedScreenInTheZone = false;
  30. // }
  31. // },
  32. // 只在两个碰撞体开始接触时被调用一次
  33. onBeginContact: function (contact, selfCollider, otherCollider) {
  34. // CustomLog("撞了",otherCollider);
  35. // CustomLog("刚体 棍子限制 碰撞 进入 ,",otherCollider.node.name);
  36. if(otherCollider.node.name === 'Hero')
  37. {
  38. var line = otherCollider.node.getChildByName("Player").getChildByName("PlayerCollisionLine");
  39. var PlayerStateScript = otherCollider.getComponent("PlayerState");
  40. PlayerStateScript.CurrentInZoneType = PlayerStateStatic.ZoneType.BehindLongAccelerationBand;
  41. }
  42. },
  43. // 只在两个碰撞体结束接触时被调用一次
  44. onEndContact: function (contact, selfCollider, otherCollider) {
  45. if(otherCollider.node.name === 'Hero')
  46. {
  47. var line = otherCollider.node.getChildByName("Player").getChildByName("PlayerCollisionLine");
  48. var PlayerStateScript = otherCollider.getComponent("PlayerState");
  49. if (!PlayerStateScript.BTouchedScreenInTheZone) {
  50. var HeroControlScript = otherCollider.getComponent("HeroControl");
  51. HeroControlScript.Stagger();
  52. }
  53. PlayerStateScript.BTouchedScreenInTheZone = false;
  54. }
  55. },
  56. // 每次将要处理碰撞体接触逻辑时被调用
  57. onPreSolve: function (contact, selfCollider, otherCollider) {
  58. },
  59. // 每次处理完碰撞体接触逻辑时被调用
  60. onPostSolve: function (contact, selfCollider, otherCollider) {
  61. },
  62. });