游戏结束界面:

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

/**
* Power by html5中文网(html5china.com)
* author: jackyWHJ
*/
var GameOver = cc.Layer.extend({
init:function () {
var bRet = false;
if (this._super()) {
var sp = cc.Sprite.create(s_b05);
sp.setAnchorPoint( cc.p(0,0) );
this.addChild(sp, 0, 1); var logo = cc.Sprite.create(s_gameOver);
logo.setAnchorPoint(cc.p(0,0));
logo.setPosition(20,350);
this.addChild(logo,10,1); var playAgainNormal = cc.Sprite.create(s_menu, cc.rect(378, 0, 126, 33));
var playAgainSelected = cc.Sprite.create(s_menu, cc.rect(378, 33, 126, 33));
var playAgainDisabled = cc.Sprite.create(s_menu, cc.rect(378, 33 * 2, 126, 33)); var playAgain = cc.MenuItemSprite.create(playAgainNormal, playAgainSelected, playAgainDisabled, function(){
flareEffect(this,this,this.onPlayAgain);
}.bind(this) ); var menu = cc.Menu.create(playAgain);
this.addChild(menu, 1, 2);
menu.setPosition(winSize.width / 2, 280); if(!localStorage.getItem("bestScore")){
localStorage.setItem("bestScore",g_sharedGameLayer._timeString);
};
var lbScore = cc.LabelTTF.create("TIME "+g_sharedGameLayer._timeString,"Forte",26);
lbScore.setPosition(winSize.width / 2,200);
lbScore.setColor(cc.c3b(200,38,12));
// lbScore.enableStroke(cc.c3b(0,0,0), 26);
this.addChild(lbScore,10); var bestString = localStorage.getItem("bestScore");
var bestArr = bestString.split(":");
var sTime = bestArr[0]*60 + bestArr[1];
if(sTime > g_sharedGameLayer._time){
localStorage.setItem("bestScore",g_sharedGameLayer._timeString);
}
var bestScore = cc.LabelTTF.create("BEST TIME "+ localStorage.getItem("bestScore"),"Forte",26);
bestScore.setPosition(180,150);
bestScore.setColor(cc.c3b(200,38,12));
this.addChild(bestScore,10); if(LLK.SOUND){
cc.AudioEngine.getInstance().playMusic(s_mainMainMusic_mp3);
}
bRet = true;
}
return bRet;
},
onPlayAgain:function (pSender) {
var scene = cc.Scene.create();
scene.addChild(GameLayer.create());
scene.addChild(GameControlMenu.create());
cc.Director.getInstance().replaceScene(cc.TransitionFade.create(1.2,scene));
}
}); GameOver.create = function () {
var sg = new GameOver();
if (sg && sg.init()) {
return sg;
}
return null;
}; GameOver.scene = function () {
var scene = cc.Scene.create();
var layer = GameOver.create();
scene.addChild(layer);
return scene;
};
  这里游戏数据的缓存我们是使用本地缓存localStorage来做的
       if(!localStorage.getItem("bestScore")){
localStorage.setItem("bestScore",g_sharedGameLayer._timeString);
};
var lbScore = cc.LabelTTF.create("TIME "+g_sharedGameLayer._timeString,"Forte",26);
lbScore.setPosition(winSize.width / 2,200);
lbScore.setColor(cc.c3b(200,38,12));
// lbScore.enableStroke(cc.c3b(0,0,0), 26);
this.addChild(lbScore,10);

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

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

用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. Intent之对象传递(Parcelable传递对象和对象集合)

    接着上一篇文章,以下我们讨论一下怎样利用Parcelable实现Intent之间对象的传递 一.实现对象传递 首先创建User.java实现Parcelable接口: package org.yayu ...

  2. JDBC技术总结(一)

    1. JDBC简介 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC,JDBC不能直接操作数据库,JDBC通过接口加载数据库的驱动,然后操作数据库.JDBC: ...

  3. surface4 笔盖失灵的解决方案

    http://tieba.baidu.com/p/3670357234 先找到设备管理器,找到蓝牙,删除里面所有的设备.然后重启. 之后再次找到蓝牙,匹配pen.就可以用了. 解决的前提是:我确定笔帽 ...

  4. SpringBoot使用MyBatis报错:Error invoking SqlProvider method (tk.mybatis.mapper.provider.base.BaseInsertProvider.dynamicSQL)

    © 版权声明:本文为博主原创文章,转载请注明出处  1. 错误描述 使用SpringBoot集成MyBatis框架,并且使用 mapper-spring-boot-starter 自动生成MyBati ...

  5. android常用权限

    访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...

  6. linux 文件夹-文件权限设置

    只设置文件夹权限为755 文件权限为644find -type d -exec chmod 755 {} \;  find -type f -exec chmod 644 {} \;  或者  fin ...

  7. 精准 iOS 内存泄露检测工具

    MLeaksFinder:精准 iOS 内存泄露检测工具 发表于 2016-02-22   |   zepo   |   23 Comments 背景 平常我们都会用 Instrument 的 Lea ...

  8. 刨根问底 HTTP 和 WebSocket 协议(上)

    HTTP vs WebSocket 那天和boss聊天,不经意间提到了Meteor,然后聊到了WebSocket,然后就有了以下对话,不得不说,看问题的方式不同,看到的东西也会大不相同. A:Mete ...

  9. RHEL7安装部署ZooKeeper

    转载请注明出处:jiq•钦's technical Blog - 季义钦 文章说明: 分布式注冊中心(链接)须要安装的组件包括两个部分: 1.注冊中心服务(Zookeeper) 2.站点(Tomcat ...

  10. 粗体EditorGUI

    GUILayout.Label ("Shading", EditorStyles.boldLabel); EditorGUILayout.Space (); InspectorSu ...