StartScene.ts 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. import Global from "./Global";
  2. import Http from "./Http";
  3. const { ccclass, property } = cc._decorator;
  4. @ccclass
  5. export default class StartScene extends cc.Component {
  6. @property(cc.Prefab)
  7. paihangbang: cc.Prefab = null;
  8. // LIFE-CYCLE CALLBACKS:
  9. mainNode = null;
  10. UpAni = null;
  11. DownAni = null;
  12. UpAnistate;
  13. DownAnistate;
  14. CheckBtn: cc.Button;
  15. /**
  16. * 玩家信息
  17. */
  18. USERINFO = {
  19. userId: '12312313',
  20. score: 0,
  21. }
  22. private channel = "test";
  23. onLoad() {
  24. console.log("find --------------------1");
  25. // // this.LifeDing.zIndex = 5;
  26. // cc.sys.localStorage.removeItem("info");
  27. let infostr = cc.sys.localStorage.getItem("info");
  28. if (infostr == null || infostr == undefined || infostr == "") {
  29. infostr = { userId: '', score: 0, };
  30. infostr = JSON.stringify(infostr);
  31. cc.sys.localStorage.setItem("info", infostr);
  32. }
  33. console.log("------------------4 : " + infostr);
  34. this.USERINFO = JSON.parse(infostr);
  35. if (this.USERINFO == null || this.USERINFO == undefined) {
  36. this.USERINFO = {
  37. userId: '',
  38. score: 0,
  39. }
  40. this.LoadData();
  41. console.log("------------------5");
  42. this.USERINFO = JSON.parse(cc.sys.localStorage.getItem("info"));
  43. }
  44. Global.instance.setSN(this);
  45. Global.instance.OverFlag = false;
  46. let startNode = this.node.getChildByName("BgNode").getChildByName("kaiji");
  47. let Ani = startNode.getComponent(cc.Animation);
  48. let Anistate = Ani.play("kaiji");
  49. Anistate.wrapMode = cc.WrapMode.Loop;
  50. this.UpAni = startNode.getChildByName("Up").getComponent(cc.Animation);
  51. this.DownAni = startNode.getChildByName("Down").getComponent(cc.Animation);
  52. console.log("find --------------------1#");
  53. }
  54. start() {
  55. let self = this;
  56. // self.USERINFO.userId = "playerB10";
  57. // self.USERINFO.score = 0;
  58. self.scheduleOnce(function () {
  59. Global.instance.SetUser(self.USERINFO);
  60. Global.instance.Channel = self.channel;
  61. //this.Login();
  62. }, 0.5);
  63. cc.resources.load('BGGGG', cc.AudioClip, (err, clips: cc.AudioClip) => {
  64. if (err) {
  65. cc.error(err);
  66. return;
  67. }
  68. cc.audioEngine.stopMusic()
  69. cc.audioEngine.playMusic(clips, true); // 播放音乐
  70. });
  71. }
  72. update(dt) {
  73. // cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN,this.onKeyBackSpace,this);
  74. // cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN,this.onKeyDown,this);
  75. }
  76. /**
  77. * start game
  78. */
  79. StartGame() {
  80. let self = this;
  81. let startTime = Date.now();
  82. let endTime;
  83. Global.instance.OverFlag = false;
  84. Global.instance.AniFalg = false;
  85. Global.instance.LorR = 0;
  86. Global.instance.InitSpeed = Global.instance.ConstInitSpeed
  87. Global.instance.moveSpeed = 1;
  88. Global.instance.FHFallSpeed = 2;
  89. cc.sys.localStorage.setItem("hfsj", "99");
  90. self.UpAnistate = self.UpAni.play();
  91. self.DownAnistate = self.DownAni.play();
  92. self.scheduleOnce(function () {
  93. self.node.runAction(cc.sequence(cc.fadeOut(0.5), cc.callFunc(function () {
  94. cc.director.loadScene("MainScene");
  95. endTime = Date.now();
  96. if (endTime - startTime > 330) {
  97. self.destroy();
  98. }
  99. console.log("场景跳转成功");
  100. })));
  101. }, 0.33);
  102. }
  103. /**
  104. * use the backSpace start game
  105. * @param event
  106. */
  107. // onKeyBackSpace(event) {
  108. // if (event.keyCode == cc.KEY.space) {
  109. // this.StartGame();
  110. // }
  111. // }
  112. /**
  113. * 登录
  114. */
  115. protected Login() {
  116. let self = this;
  117. let channelStr = Global.instance.Channel;
  118. let uNam = Global.instance.GetUSer().userId;
  119. /* Http.sendRequest("/login",{channel:channelStr,userId:uNam},function(msg){
  120. console.log("------------------6");
  121. let code = JSON.parse(msg.code);
  122. console.log(code);
  123. if(code!=0){
  124. Global.instance.NetStatus = false;
  125. }
  126. console.log("------------------7");
  127. let mmsg = JSON.parse(msg.msg);
  128. self.USERINFO.userId = mmsg.userId;
  129. self.USERINFO.score = mmsg.score;
  130. Global.instance.getLocalScore().BestScore = mmsg.score;
  131. Global.instance.SetUser(self.USERINFO);
  132. });*/
  133. let ux = {
  134. userId: '',
  135. }
  136. ux.userId = channelStr + Global.instance.GetUSer().userId;
  137. /* Http.sendRequest("/rank",ux,function(mmsg){
  138. console.log("------------------8");
  139. let MM = JSON.parse(mmsg.msg);
  140. console.log(MM);
  141. if(Global.instance.GetR()==null||Global.instance.GetR().rank==undefined||Global.instance.GetR().rank<MM.my.rank){
  142. Global.instance.SetR(MM.my.rank);
  143. Global.instance.SetS(MM.other);
  144. }
  145. });*/
  146. }
  147. //需要更多源码联系Q:852183691
  148. //或者
  149. //关注微信公众号“史于二”
  150. CheckRank() {
  151. this.destroy();
  152. cc.director.loadScene("EndScene");
  153. }
  154. IdGenerater() {
  155. let str = ""
  156. let suffix = ""
  157. let Id;
  158. let Word;
  159. for (let i = 0; i < 2; i++) {
  160. let ranNum = Math.ceil(Math.random() * 25);
  161. Word = String.fromCharCode(65 + ranNum);
  162. str += Word;
  163. }
  164. for (let i = 0; i < 7; i++) {
  165. let suffixNum = Math.ceil(Math.random() * 9);
  166. suffix += suffixNum.toString();
  167. }
  168. Id = str + suffix;
  169. return Id
  170. }
  171. private LoadData() {
  172. let self = this;
  173. let id = self.IdGenerater();
  174. self.USERINFO.userId = id;
  175. self.USERINFO.score = 0;
  176. cc.sys.localStorage.setItem("info", JSON.stringify(self.USERINFO));
  177. // cc.sys.localStorage.removeItem("info");
  178. // let url = cc.url.raw("resources/INFO/data.json");
  179. // let infotem;
  180. // cc.loader.load(url,function(err,res){
  181. // if(err){
  182. // console.log("load"+url,err+"err result:"+JSON.stringify(res));
  183. // }
  184. // infotem = res;
  185. // });
  186. }
  187. }
  188. /**
  189. * 联网登录放在开始游戏的时候,期间获取一次排行数据
  190. * 这里有一个逻辑上的问题:如果第一次玩的分数是0,就
  191. */