GameTool.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. var vigameBridge = require("./bridge.js");
  2. /**
  3. * 单利工具类
  4. */
  5. class ZYGameTool{
  6. /**
  7. * 坐标数组查找
  8. * @param vec
  9. * @param pt
  10. * @returns {string|number}
  11. */
  12. posIndexOf (vec,pt) {
  13. for(var i in vec){
  14. if(vec[i].x==pt.x&&vec[i].y==pt.y)
  15. return i;
  16. }
  17. return -1;
  18. }
  19. //预加载精灵
  20. loadSpriteFrame (func) {
  21. var tempIndex = 0;
  22. for (var i = 0; i < resources.length; i++) {
  23. cc.loader.loadRes(resources[i], cc.SpriteFrame, function (err, spFrame) {
  24. ++tempIndex;
  25. var num = tempIndex / resources.length * 100;
  26. console.log("---num--: ", parseInt(num));
  27. if (tempIndex == resources.length - 1) func();
  28. if (err) {
  29. cc.log(err.message || err);
  30. return;
  31. }
  32. }.bind(this));
  33. }
  34. }
  35. /**
  36. * 存储int类型数据
  37. * @param {*} index 存储名
  38. * @param {*} key 值
  39. */
  40. setIntegerForKey (index,key) {
  41. key = key.toString();
  42. cc.sys.localStorage.setItem(index,key);
  43. }
  44. /**
  45. * 获取int类型数据
  46. * @param {*} index 存储名
  47. * @param {*} key 值
  48. */
  49. getIntegerForKey (index,defaultkey) {
  50. defaultkey = defaultkey.toString();
  51. var str = cc.sys.localStorage.getItem(index);
  52. if (str == "" || str == null || str == undefined) {
  53. this.setIntegerForKey(index,defaultkey);
  54. return parseInt(defaultkey);
  55. } else {
  56. return parseInt(str);
  57. }
  58. }
  59. /**
  60. * 存储string类型数据
  61. * @param {*} index 存储名
  62. * @param {*} key 值
  63. */
  64. setStringForKey (index,key) {
  65. console.log("---key--: " , key);
  66. key = key.toString();
  67. cc.sys.localStorage.setItem(index,key);
  68. }
  69. /**
  70. * 获取string类型数据
  71. * @param {*} index 存储名
  72. * @param {*} key 值
  73. */
  74. getStringForKey (index,defaultkey) {
  75. defaultkey = defaultkey.toString();
  76. var str = cc.sys.localStorage.getItem(index);
  77. if (str == "" || str == null || str == undefined) {
  78. this.setStringForKey(index, defaultkey);
  79. return defaultkey;
  80. } else {
  81. return str;
  82. }
  83. }
  84. //获取金币数量
  85. getCoin () {
  86. coinNum = this.getIntegerForKey(localDataItem.coinNum, 10);
  87. return coinNum;
  88. }
  89. useCoin (num){
  90. var key=this.getCoin();
  91. key+=num;
  92. coinNum = num;
  93. this.setIntegerForKey(localDataItem.coinNum, key);
  94. }
  95. //打开广告
  96. OpenAd(adPositionName, adType, callback = null, failCallback = null) {
  97. // console.log("OpenAd adPositionName=======>" + adPositionName.toString() + " adType====>" + adType.toString());
  98. console.log("--OpenAd---OpenAd--: " , adType.toString());
  99. if (cc.sys.os === cc.sys.OS_IOS) {
  100. if(adType=="video"){
  101. if (playeMusic === 1) cc.audioEngine.pauseMusic();
  102. vigameBridge.openAdC(adPositionName,function(openState){
  103. if (playeMusic === 1) cc.audioEngine.resumeMusic();
  104. console.log("open State = " + openState);
  105. if(1 == openState){
  106. if(callback){
  107. callback();
  108. }
  109. }
  110. else
  111. {
  112. if(failCallback){
  113. failCallback();
  114. }
  115. }
  116. }.bind(this));
  117. }else{
  118. vigameBridge.openAd(adPositionName);
  119. }
  120. } else if (cc.sys.os === cc.sys.OS_ANDROID) {
  121. }
  122. }
  123. //数据的存储
  124. };
  125. let inistance = null;
  126. module.exports.getInstance = function(){
  127. if(!inistance){
  128. inistance = new ZYGameTool();
  129. }
  130. return inistance;
  131. }