游戏结束界面:

在前面几个教程中,这个界面的创作所需要的知识点基本我们都讲过了,这里就说下用户数据的缓存吧,也是先来看下源码

  1. /**
  2. * Power by html5中文网(html5china.com)
  3. * author: jackyWHJ
  4. */
  5. var GameOver = cc.Layer.extend({
  6. init:function () {
  7. var bRet = false;
  8. if (this._super()) {
  9. var sp = cc.Sprite.create(s_b05);
  10. sp.setAnchorPoint( cc.p(0,0) );
  11. this.addChild(sp, 0, 1);
  12.  
  13. var logo = cc.Sprite.create(s_gameOver);
  14. logo.setAnchorPoint(cc.p(0,0));
  15. logo.setPosition(20,350);
  16. this.addChild(logo,10,1);
  17.  
  18. var playAgainNormal = cc.Sprite.create(s_menu, cc.rect(378, 0, 126, 33));
  19. var playAgainSelected = cc.Sprite.create(s_menu, cc.rect(378, 33, 126, 33));
  20. var playAgainDisabled = cc.Sprite.create(s_menu, cc.rect(378, 33 * 2, 126, 33));
  21.  
  22. var playAgain = cc.MenuItemSprite.create(playAgainNormal, playAgainSelected, playAgainDisabled, function(){
  23. flareEffect(this,this,this.onPlayAgain);
  24. }.bind(this) );
  25.  
  26. var menu = cc.Menu.create(playAgain);
  27. this.addChild(menu, 1, 2);
  28. menu.setPosition(winSize.width / 2, 280);
  29.  
  30. if(!localStorage.getItem("bestScore")){
  31. localStorage.setItem("bestScore",g_sharedGameLayer._timeString);
  32. };
  33. var lbScore = cc.LabelTTF.create("TIME "+g_sharedGameLayer._timeString,"Forte",26);
  34. lbScore.setPosition(winSize.width / 2,200);
  35. lbScore.setColor(cc.c3b(200,38,12));
  36. // lbScore.enableStroke(cc.c3b(0,0,0), 26);
  37. this.addChild(lbScore,10);
  38.  
  39. var bestString = localStorage.getItem("bestScore");
  40. var bestArr = bestString.split(":");
  41. var sTime = bestArr[0]*60 + bestArr[1];
  42. if(sTime > g_sharedGameLayer._time){
  43. localStorage.setItem("bestScore",g_sharedGameLayer._timeString);
  44. }
  45. var bestScore = cc.LabelTTF.create("BEST TIME "+ localStorage.getItem("bestScore"),"Forte",26);
  46. bestScore.setPosition(180,150);
  47. bestScore.setColor(cc.c3b(200,38,12));
  48. this.addChild(bestScore,10);
  49.  
  50. if(LLK.SOUND){
  51. cc.AudioEngine.getInstance().playMusic(s_mainMainMusic_mp3);
  52. }
  53. bRet = true;
  54. }
  55. return bRet;
  56. },
  57. onPlayAgain:function (pSender) {
  58. var scene = cc.Scene.create();
  59. scene.addChild(GameLayer.create());
  60. scene.addChild(GameControlMenu.create());
  61. cc.Director.getInstance().replaceScene(cc.TransitionFade.create(1.2,scene));
  62. }
  63. });
  64.  
  65. GameOver.create = function () {
  66. var sg = new GameOver();
  67. if (sg && sg.init()) {
  68. return sg;
  69. }
  70. return null;
  71. };
  72.  
  73. GameOver.scene = function () {
  74. var scene = cc.Scene.create();
  75. var layer = GameOver.create();
  76. scene.addChild(layer);
  77. return scene;
  78. };
  这里游戏数据的缓存我们是使用本地缓存localStorage来做的
  1.       if(!localStorage.getItem("bestScore")){
  2. localStorage.setItem("bestScore",g_sharedGameLayer._timeString);
  3. };
  4. var lbScore = cc.LabelTTF.create("TIME "+g_sharedGameLayer._timeString,"Forte",26);
  5. lbScore.setPosition(winSize.width / 2,200);
  6. lbScore.setColor(cc.c3b(200,38,12));
  7. // lbScore.enableStroke(cc.c3b(0,0,0), 26);
  8. this.addChild(lbScore,10);

  首先,我们先判断是否存在本体缓存数据,不存在的话我们就添加缓存数据并且把当前的游戏时间通过 cc.LabelTTF添加到Layer上。所过存在缓存数据,我们则取出缓存数据并且与当前游戏进行比较,然后缓存最好成绩并添加到Layer上

  1.       var bestString = localStorage.getItem("bestScore");
  2. var bestArr = bestString.split(":");
  3. var sTime = bestArr[0]*60 + bestArr[1];
  4. if(sTime > g_sharedGameLayer._time){
  5. localStorage.setItem("bestScore",g_sharedGameLayer._timeString);
  6. }

用cocos2d-html5做的消除类游戏《英雄爱消除》(4)——游戏结束的更多相关文章

  1. 用cocos2d-html5做的消除类游戏《英雄爱消除》(1)——系统主菜单

    系统主菜单如下图所示: 首先,介绍下这个主菜单,它包含了一个动画logo以及一个按钮选项,动画logo每隔1秒钟切换一张图片,点击相应的按钮选项会切换不同的游戏场景. 下面看下这个界面的源码: /** ...

  2. 用cocos2d-html5做的消除类游戏《英雄爱消除》(3)——游戏主界面

    游戏主界面,同时也是主程序,包括sprite的生成加入以及游戏状态的控制. 下面同样贴下源码再讲解; /** * Power by html5中文网(html5china.com) * author: ...

  3. 用cocos2d-html5做的消除类游戏《英雄爱消除》(2)——Block设计实现

    Block可以说是这个游戏的核心类,它除了包含自身的一些属性和方法外还添加了对触摸事件的响应. 我们先来看下源码吧 /** * Power by html5中文网(html5china.com) * ...

  4. 用cocos2d-html5做的消除类游戏《英雄爱消除》——概述

    在bbs.html5china.com论坛学习了MV和老马的小熊蘑菇后我也自己模仿他们做了这样子一个游戏,权当技术交流学习,现在附上游戏截图和源码. 游戏截图: 1.系统菜单界面: 2.游戏界面 3. ...

  5. 消除类游戏(js版)

    最近一直在玩一款消灭星星的消除类游戏,周末无聊就用js也写了一遍,感觉玩比写还困难一直玩不到10000分.废话不多说直接上源码. 效果图(ps 页面有点难看木有美工) 代码总共456行,未经过严格测试 ...

  6. ccf题库中2015年12月2号消除类游戏

    题目如下: 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这 ...

  7. CCF2015122消除类游戏(C语言版)

    问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消 ...

  8. ccf消除类游戏

    问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消 ...

  9. CCF CSP 201512-2 消除类游戏

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201512-2 消除类游戏 问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行 ...

随机推荐

  1. DNS检测

    dig @58.241.41.152 6900255264940.barcode.cniotroot.cn naptr 没有naptr 好像有点异常 select count(*) as total ...

  2. cpp学习笔记 1一个简单的小程序以及一些的知识点

    今天买的cpp到了从今天開始又一次学习cpp如今发现学校发的书真的不怎莫样. <em>#include<stdio.h>//预处理命令 int main()/*第一个被调用的函 ...

  3. MySQL二:数据库操作

    阅读目录 一 知识储备 二 初识SQL语言 三 系统数据库 四 创建数据库 五 数据库相关操作 一 知识储备 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理 ...

  4. IP地址加时间戳加3位随机数

    工作中经常用到时间戳加上3位随机数获得唯一流水号,下面是代码~ package com.pb.viewer.filename; import java.text.SimpleDateFormat; i ...

  5. FPGA开发流程

    需求说明:Verilog设计 内容       :FPGA开发基本流程及注意事项 来自       :时间的诗 原文来自:http://www.dzsc.com/data/2015-3-16/1080 ...

  6. org.mockito.exceptions.misusing.MissingMethodInvocationException: when() requires an argument which has to be 'a method call on a mock'

    异常原因: 1.mockito的jar包中缺少方法 2.mock方法的时候,返回的是对象,而对象没有重写equals方法 3.mock的实例方法调用方法错误 解决方法: 1.用powermock中的a ...

  7. struts2 拦截器,使用spring注入

    ActionContext actionContext = invocation.getInvocationContext();ServletContext context = (ServletCon ...

  8. killall 命令

    Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在 ...

  9. iOS左滑手势失效

    iOS7之后,苹果优化了一个小功能,就是对于UINavagationController堆栈里的UIViewController,只要轻轻在视图控制器的左边缘右滑一下,该视图控制器就会pop出栈(前提 ...

  10. 最实用windows 下python+numpy安装(转载)

    最实用windows 下python+numpy安装 如题,今天兜兜转转找了很多网站帖子,一个个环节击破,最后装好费了不少时间. 希望这个帖子能帮助有需要的人,教你一篇帖子搞定python+numpy ...