GameUI.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. cc.Class({
  2. extends: cc.Component,
  3. properties: {
  4. //中间加分条
  5. UIPKScore:{
  6. default:null,
  7. type:cc.Prefab
  8. },
  9. //胜利
  10. UIWin:{
  11. default:null,
  12. type:cc.Prefab
  13. },
  14. //失败
  15. UILose:{
  16. default:null,
  17. type:cc.Prefab
  18. },
  19. //撒花
  20. Fireworks:{
  21. default:null,
  22. type:cc.Prefab
  23. },
  24. //完美
  25. UIPerfect:{
  26. default:null,
  27. type:cc.Prefab
  28. },
  29. //左面距离头像
  30. LeftRivalHead:{
  31. default:null,
  32. type:cc.Prefab
  33. },
  34. //右面距离头像
  35. RightRivalHead:{
  36. default:null,
  37. type:cc.Prefab
  38. },
  39. //跳远 扔标枪 的计数板
  40. UIDistance:{
  41. default:null,
  42. type:cc.Prefab
  43. },
  44. },
  45. start () {
  46. // this.setTopMyScore("9");
  47. // this.setTopRivalScore("9");
  48. // this.hideTimerPerfect(3);
  49. // this.hideTimerMiddlePKScore("7","8",5);
  50. // this.hideTimerDistanceNum("121.00",8);
  51. // this.hideTimerTimeNum("8.20",2)
  52. },
  53. setMiddleMyScore:function(aPrefab,myScore){//设置自己的分数(图片中部)string
  54. aPrefab.getChildByName('MiddleMyScore').getComponent(cc.Label).string = myScore;
  55. // console.log("我的分数被设置了"+myScore);
  56. },
  57. setMiddleRivalScore:function(aPrefab,rivalScore){//设置对手的分数(图片中部)string
  58. aPrefab.getChildByName('MiddleRivalScore').getComponent(cc.Label).string = rivalScore;
  59. // console.log("对手的分数被设置了"+rivalScore);
  60. },
  61. setTopMyScore:function(ScoreNum){//设置顶部自己分数图片string
  62. cc.find('UITop').getChildByName('TopMyScore').getComponent('TopScore').setScoreNumImage(ScoreNum);
  63. },
  64. setTopRivalScore:function(ScoreNum){//设置顶部对手PK分数图片string
  65. cc.find('UITop').getChildByName('TopRivalScore').getComponent('TopScore').setScoreNumImage(ScoreNum);
  66. },
  67. setDistanceNum:function(distanceNum){//成绩:米数string
  68. cc.find('UIDistance').getChildByName('DistanceNum').getComponent(cc.Label).string = distanceNum+"M";
  69. },
  70. setTimeNum:function(secondNum){//成绩:秒数string
  71. cc.find('UIDistance').getChildByName('TimeNum').getComponent(cc.Label).string = secondNum+"s";
  72. },
  73. //以上是设置数值,以下是设置某UI显示某秒后消失的计时器
  74. setUIActiveTimer:function (actor,timerSecond) {//UI显示消失计时器
  75. actor.active=true;
  76. /**
  77. * timerSecond 表示此UI显示timerSecond秒后消失。当timerSecond为0的时候,此UI一直显示,不会消失。
  78. */
  79. if (timerSecond > 0) {
  80. this.scheduleOnce(function() {
  81. actor.active=false;
  82. }, timerSecond);
  83. }
  84. },
  85. setUIActiveTimer_destroy:function (actor,timerSecond) {//UI显示消失计时器
  86. /**
  87. * timerSecond 表示此UI显示timerSecond秒后消失。当timerSecond为0的时候,此UI一直显示,不会消失。
  88. */
  89. if (actor==null) {
  90. return;
  91. }
  92. if (timerSecond > 0) {
  93. this.scheduleOnce(function() {
  94. actor.destroy();
  95. }, timerSecond);
  96. }
  97. },
  98. setUIActiveShow: function setUIActiveTimer(actor) {
  99. //UI显示消失计时器
  100. actor.active = true;
  101. },
  102. hideTimerMiddlePKScore:function(myScore,rivalScore,timerSecond){
  103. // console.log("my is "+myScore+" and rival is "+rivalScore);
  104. var aPrefab = cc.instantiate(this.UIPKScore);
  105. aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
  106. // console.log("This scene is "+cc.director.getScene().name);
  107. aPrefab.anchorX = 0;
  108. this.setMiddleMyScore(aPrefab,myScore);
  109. this.setMiddleRivalScore(aPrefab,rivalScore);
  110. this.setUITimer(aPrefab,timerSecond);
  111. // this.setUITimer(cc.find('UIPKScore'),timerSecond);
  112. // this.setUIActiveTimer(cc.find('UIPKScore'),timerSecond);
  113. },
  114. hideTimerDistanceNum:function(distanceNum,timerSecond){//成绩米数显示后隐藏
  115. this.setDistanceNum(distanceNum);
  116. this.setUIActiveTimer(cc.find('UIDistance'),timerSecond)
  117. },
  118. hideTimerTimeNum:function(timeNum,timerSecond){//成绩秒数显示后隐藏
  119. this.setDistanceNum(timeNum);
  120. this.setUIActiveTimer(cc.find('UIDistance'),timerSecond)
  121. },
  122. hideTimerPerfect:function(timerSecond){//pererfect显示后隐藏
  123. if (cc.find('UIPerfect')!=null) {
  124. cc.find('UIPerfect').destroy();
  125. }
  126. var aPrefab = cc.instantiate(this.UIPerfect);
  127. aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
  128. // aPrefab.anchorY = 0.5;
  129. this.setUITimer(aPrefab,timerSecond);
  130. // cc.find('UIPerfect').active = true;
  131. aPrefab.getChildByName('perfect').getComponent(cc.Animation).play('PerfectMoveUp');
  132. },
  133. displayRivalHead:function (isLeft) {//当对手与自己不在一个屏幕的时候,显示对手头像
  134. if (isLeft) {
  135. if (cc.find("RightRivalHead")!=null) {
  136. cc.find('RightRivalHead').destroy();
  137. }
  138. if (cc.find("LeftRivalHead")==null) {
  139. // cc.find('LeftRivalHead').destroy();
  140. var aPrefab = cc.instantiate(this.LeftRivalHead);
  141. aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
  142. }
  143. }else{
  144. if (cc.find("LeftRivalHead")!=null) {
  145. cc.find('LeftRivalHead').destroy();
  146. }
  147. if (cc.find("RightRivalHead")==null) {
  148. // cc.find('LeftRivalHead').destroy();
  149. var aPrefab = cc.instantiate(this.RightRivalHead);
  150. aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
  151. }
  152. }
  153. // cc.find("LeftRivalHead").active = isLeft;
  154. // cc.find("RightRivalHead").active = !isLeft;
  155. },
  156. hideRivalHead:function () {//当对手与自己在一个屏幕的时候,隐藏对手头像
  157. if (cc.find("LeftRivalHead")!=null) {
  158. cc.find('LeftRivalHead').destroy();
  159. }
  160. if (cc.find("RightRivalHead")!=null) {
  161. cc.find('RightRivalHead').destroy();
  162. }
  163. // cc.find("LeftRivalHead").active = false;
  164. // cc.find("RightRivalHead").active = false;
  165. },
  166. displayUIWin:function () {//显示胜利界面
  167. var aPrefab = cc.instantiate(this.UIWin);
  168. aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
  169. // cc.find('UIWin').active = true;
  170. },
  171. displayUILose:function () {//显示失败界面
  172. var aPrefab = cc.instantiate(this.UILose);
  173. aPrefab.parent = cc.director.getScene();//中
  174. // cc.find('UILose').active = true;
  175. },
  176. displayUIDistance:function () {//显示跳远 扔标枪
  177. var aPrefab = cc.instantiate(this.UIDistance);
  178. if (cc.find("UIDistance")!=null) {
  179. return aPrefab
  180. }
  181. aPrefab.parent = cc.director.getScene();//中
  182. // cc.find('UILose').active = true;
  183. return aPrefab;
  184. },
  185. hideUIDistance:function () {//当对手与自己在一个屏幕的时候,隐藏对手头像
  186. if (cc.find("UIDistance")!=null) {
  187. cc.find('UIDistance').destroy();
  188. }
  189. },
  190. playFireworks:function () {
  191. // cc.find('Fireworks').active = true;
  192. var aPrefab = cc.instantiate(this.Fireworks);
  193. aPrefab.parent = cc.director.getScene();//
  194. },
  195. setImage_Player1 : function (src) {
  196. cc.loader.load(src,function (err, texture) {
  197. var frame=new cc.SpriteFrame(texture);
  198. cc.find('UITop/MyHeadMask').getChildByName('MyHead').getComponent(cc.Sprite).spriteFrame=frame;
  199. });
  200. },
  201. setImage_Player2 : function (src) {
  202. cc.loader.load(src,function (err, texture) {
  203. var frame=new cc.SpriteFrame(texture);
  204. cc.find('UITop/RivalHeadMask').getChildByName('RivalHead').getComponent(cc.Sprite).spriteFrame=frame;
  205. });
  206. },
  207. setName_Player1 : function (name) {
  208. // cc.find('UITop').getChildByName('MyName').getComponent(cc.Label).String = name;
  209. var MyName=cc.find("UITop").getChildByName('MyName');
  210. var myLabel = MyName.getComponent(cc.Label);
  211. myLabel.string=name;
  212. },
  213. setName_Player2 : function (name) {
  214. //todo 设置文字的坑
  215. // cc.find('UITop').getChildByName('RivalName').getComponent(cc.Label).String = name;
  216. var RivalName=cc.find("UITop").getChildByName('RivalName');
  217. var myLabel = RivalName.getComponent(cc.Label);
  218. myLabel.string=name;
  219. },
  220. setName_Gender1 : function (name) {
  221. // cc.find('UITop').getChildByName('MyName').getComponent(cc.Label).String = name;
  222. var MyName=cc.find("UITop").getChildByName('GenderPlayer1');
  223. var src = "nan";
  224. if (name=="1") {
  225. }else{
  226. src = "nv";
  227. }
  228. cc.loader.loadRes(src, cc.SpriteFrame, function (err, spriteFrame) { //这个方法
  229. MyName.getComponent(cc.Sprite).spriteFrame = spriteFrame;
  230. });
  231. // cc.loader.load(src,function (err, texture) {
  232. //
  233. // var frame=new cc.SpriteFrame(texture);
  234. // MyName.getComponent(cc.Sprite).spriteFrame=frame;
  235. // });
  236. },
  237. setName_Gender2 : function (name) {
  238. //todo 设置文字的坑
  239. // cc.find('UITop').getChildByName('RivalName').getComponent(cc.Label).String = name;
  240. var MyName=cc.find("UITop").getChildByName('GenderPlayer2');
  241. var src = "nan";
  242. if (name=="1") {
  243. }else{
  244. src = "nv";
  245. }
  246. cc.loader.loadRes(src, cc.SpriteFrame, function (err, spriteFrame) { //这个方法
  247. MyName.getComponent(cc.Sprite).spriteFrame = spriteFrame;
  248. });
  249. },
  250. setUITimer:function (actor,timerSecond) {//UI显示消失计时器
  251. // actor.active=true;
  252. /**
  253. * timerSecond 表示此UI显示timerSecond秒后消失。当timerSecond为0的时候,此UI一直显示,不会消失。
  254. */
  255. if (timerSecond > 0) {
  256. this.scheduleOnce(function() {
  257. if(actor.name != ""){
  258. actor.destroy();
  259. // console.log(actor.name+" destroy.");
  260. }
  261. }, timerSecond);
  262. }
  263. },
  264. });