game-play-sub.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <template>
  2. <view class="content">
  3. </view>
  4. </template>
  5. <script>
  6. import AccAndOri from "@/util/util-js/AccAndOri.js"
  7. export default {
  8. data() {
  9. return {
  10. bUnload: false
  11. };
  12. },
  13. onLoad(option) {
  14. // console.log("game-play-sub ==",option)
  15. if (!option) {
  16. console.error("游戏没有option参数");
  17. return;
  18. }
  19. /**
  20. * $on 之后要调用 $off,不然会重复绑定
  21. */
  22. uni.$on("game-load", () => {
  23. uni.$emit("setOnceGameOption", option);
  24. });
  25. uni.$on("game-unload", (data) => {
  26. let {
  27. globalAcc = null,
  28. globalOri = null,
  29. bGameOpenListen
  30. } = data;
  31. if(bGameOpenListen){
  32. //如果开启加速计,取消加速计监听
  33. console.log(globalAcc,globalOri);
  34. if(globalAcc){
  35. AccAndOri.unBindAcc(globalAcc);
  36. this.$store.state.globalAcc = null;
  37. }
  38. //如果开启陀螺仪,取消陀螺仪监听
  39. if(globalOri){
  40. AccAndOri.unBindOri(globalOri);
  41. this.$store.state.globalOri = null;
  42. }
  43. }
  44. // console.log("this.bUnload",this.bUnload);
  45. if (!this.bUnload) {
  46. this.bUnload = true;
  47. uni.navigateBack({
  48. delta: 1
  49. })
  50. }
  51. });
  52. /**
  53. * 操作加速计
  54. */
  55. uni.$on("bindAcc", (data) => {
  56. let {
  57. callback
  58. } = data;
  59. AccAndOri.bindAcc((accId) => {
  60. callback(accId);
  61. });
  62. })
  63. uni.$on("unBindAcc", (id) => {
  64. AccAndOri.unBindAcc(id);
  65. })
  66. /**
  67. * 操作陀螺仪
  68. */
  69. uni.$on("bindOri", (data) => {
  70. let {
  71. callback
  72. } = data;
  73. AccAndOri.bindOri((oriId) => {
  74. callback(oriId);
  75. });
  76. })
  77. uni.$on("unBindOri", (id) => {
  78. AccAndOri.unBindOri(id);
  79. })
  80. },
  81. onUnload() {
  82. uni.$off("game-load");
  83. uni.$off("game-unload");
  84. /**
  85. * 操作加速计
  86. */
  87. uni.$off("bindAcc");
  88. uni.$off("unBindAcc");
  89. /**
  90. * 操作陀螺仪
  91. */
  92. uni.$off("bindOri");
  93. uni.$off("unBindOri");
  94. },
  95. methods: {}
  96. }
  97. </script>
  98. <style>
  99. .content {
  100. align-content: center;
  101. height: 750rpx;
  102. background-color: #F4F5F6;
  103. }
  104. </style>