StartScene.ts 6.0 KB

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