Cocos creator实现《战机长空》关卡本地存储功能

Cocos creator实现《战机长空》关卡本地存储功能

Cocos creator在开放小游戏过程中,经常会出现设置关卡,这里记录一下关卡数据本地存储功能。

一、关卡设置数据

假如我们有关卡数据如下,

let settings = [
{
level: 1, // 第1关
score: 0, // 最高得分
duration: 240, // 倒计时时长,单位为秒s
bossBlood: 100, // BOSS血量
levelState: ‘UNLOCKED’, // 关卡状态
},
{
level: 2, // 第1关
score: 0, // 最高得分
duration: 240, // 倒计时时长,单位为秒s
bossBlood: 200, // BOSS血量
levelState: ‘LOCKED’, // 关卡状态
},
}

关卡数据中定义了level、score、duration、bossBlood、levelState等数据,当进入游戏时候,我们检测是否有关卡数据,没有的话,将settings数据进行存储。

onLoad() {let localSettings = JSON.parse(cc.sys.localStorage.getItem('settings'));if (!localSettings) {cc.sys.localStorage.setItem('settings', JSON.stringify(settings));}
}

二、选择关卡

当开始游戏后,我们需要选择关卡,选择关卡从localStorage取出当前的level信息

selectLevel() {let currentLevelInfo = JSON.parse(cc.sys.localStorage.getItem('currentLevelInfo'));if (!currentLevelInfo) {if (!cc.sys.localStorage.getItem('settings')) {// 将所有关卡信息存入本地(针对首次游戏)cc.sys.localStorage.setItem('settings', JSON.stringify(settings));let levelSetting = settings[0];// 将目标关卡信息存入本地,在Game.js中取出cc.sys.localStorage.setItem('currentLevelInfo', JSON.stringify(levelSetting));} else {// 如果玩家已经玩过,则从本地存储中获取关卡配置信息let newSettings = JSON.parse(cc.sys.localStorage.getItem('settings'));// 将目标关卡信息存入本地,在Game.js中取出let levelSetting = newSettings[0];cc.sys.localStorage.setItem('currentLevelInfo', JSON.stringify(levelSetting));}}}

进入游戏界面,我们设置游戏的总时长,及显示当前的关卡level

// 首先获取当前关卡信息this.currentLevelInfo = JSON.parse(cc.sys.localStorage.getItem('currentLevelInfo'));this.levelLabel.string = "第" + this.currentLevelInfo['level'] + "关";// 默认总时长this.countDuration = this.currentLevelInfo['duration'];this.interval = 1;

游戏成功后更新本地存储的最高分

if (gameResultData.isWin) {if (gameResultData.gotStarScore > localSettings[this.currentLevelInfo['level'] - 1]['score']) {localSettings[this.currentLevelInfo['level'] - 1]['score'] = gameResultData.gotStarScore;}cc.sys.localStorage.setItem('settings', JSON.stringify(localSettings));    }

效果图如下
在这里插入图片描述

三、小结

Cocos creator实现《战机长空》关卡本地存储功能。描述可能不是特别准确,请见谅。

学习记录,每天不停进步。

战机长空
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/9738.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

判断大模型微调是否产生灾难性遗忘的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

画出入学管理系统的顶层图和1层图

(学校作业) 题目如下: 某培训机构入学管理系统有报名、交费和就读等多项功能,下面是对其各项功能的说明: 1、报名:由报名处负责,需要在学员登记表上进行报名登记,需要查询课…

微软必应bing国内广告开户费用?如何开户投放?

当下搜索引擎广告无疑是企业触达潜在客户、提升品牌曝光度的重要途径之一,微软必应(Bing)作为全球第二大搜索引擎,尽管在国内市场份额上可能不敌某些本土巨头,但其独特的用户群体和国际影响力使其成为众多企业拓展市场…

【数据结构与算法】常见的排序算法

文章目录 排序的概念冒泡排序(Bubble Sort)插入排序(Insert Sort)选择排序(Select Sort)希尔排序(Shell Sort)写法一写法二 快速排序(Quick Sort)hoare版本&a…

前端Vue uView 组件<u-search> 自定义右侧搜索按钮样式

前言 uView 文档的效果不是ui设计的样式 需要重新编辑 原效果 ui设计效果 解决方案 设置里说明的需要传一个样式对象 这个对象 需要写在 script 标签里面 这里需要遵循驼峰命名 比如font-size 改为 fontSize lineHeight和textAlign为水平锤子居中效果 searchStyle: {ba…

Box86源码解读记录

1. 背景说明 Github地址:https://github.com/ptitSeb/box86 官方推荐的视频教程:Box86/Box64视频教程网盘 2. 程序执行主体图 Box86版本: Box86 with Dynarec v0.3.4 主函数会执行一大堆的初始化工作,包括但不限于:BOX上下文 …

【ARMv8/v9 系统寄存器 4 -- ARMv8 通用寄存器详细介绍】

文章目录 ARMv8 通用寄存器通用寄存器X30 寄存器和链接寄存器(LR)程序计数器(PC)ARMv8 X30和PC之间的关系小结 ARMv8 通用寄存器 在ARMv9架构中(这也适用于ARMv8,因为ARMv9是其进化版本)&#…

腾讯云coding代码托管平台配置问题公钥拉取失败提示 Permission denied(publickey)

前言 最近在学校有个课设多人开发一个游戏,要团队协作,选用了腾讯云的coding作为代码管理仓库,但在配置的时候遇到了一些问题,相比于github,发现腾讯的coding更难用,,,这里记录一下…

如何设计与管理一个前端项目

目录 前端项目设计 前端项目搭建 洞察项目瓶颈 方案调研与选型对比 前端项目管理 合理的分工排期 风险把控 及时反馈与复盘 结束语 如果说基础知识的掌握是起跑线,那么使大家之间拉开差距的更多是前端项目开发经验和技能。对于一个项目来说,从框…

【Android Studio】【NCNN】YOLOV8安卓部署

目录 下载Android Studio 克隆安卓项目 关于自训练模型闪退问题 下载Android Studio 下载Android Studio,配置安卓开发环境,这个过程比较漫长。 安装cmake,注意安装的是cmake3.10版本。 根据手机安卓版本选择相应的安卓版本&#xff0c…

彻底解决python的pip install xxx报错(文末附所有依赖文件)

今天安装pip install django又报错了: C:\Users\Administrator>pip install django WARNING: Ignoring invalid distribution -ip (d:\soft\python\python38\lib\site-pac kages) Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting djan…

论文阅读:The Unreasonable Ineffectiveness of the Deeper Layers 层剪枝与模型嫁接的“双生花”

作者实证研究了针对流行的开放式预训练 LLM 系列的简单层修剪策略,发现在不同的 QA 基准上,直到去掉一大部分(最多一半)层(Transformer 架构)后,性能的下降才会降到最低。为了修剪这些模型&…

探索 IPv6 协议:互联网的新一代寻址

目录 一.概述 IPv4 的问题和 IPv6 的新特性 IPv6 协议体系 二.IPv6 寻址架构:巨大的地址空间与灵活的寻址模式 IPv6 寻址概述 地址表示方法 地址前缀与地址类型标识 单播地址 任播地址 多播地址 特殊的 IPv6 地址 IPv6 主机与路由器寻址 地址分配 三.I…

数控六面钻适用场景-不止家具制造

在快节奏的现代生活中,家具作为我们生活的重要组成部分,其美观度和实用性日益受到人们的关注。而在这背后,一个不可或缺的“工匠”正默默地发挥着它的作用——那就是数控六面钻。 数控六面钻,顾名思义,是一种高度自动…

关于测试管理后台,生成表单-审核表单,删除表单的测试总结

测试的时候,我们经常遇到一些生成表单状态进行审核,关于这个想了一些测试点,记录分享下。 通过2方面去考虑即可 1,权限-审核权限 权限的实现需要确定到底是低代码平台自己所带的工作流还是自己完全代码实现逻辑; 如…

msix packaging tool打包问题

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

Java开发:Java代码实现电脑文件拷贝(包含文件、视频、音频)、并做了 IO 读写性能优化。

文章目录 Java文件拷贝效果演示代码示例: Java文件拷贝 效果演示 Java实现电脑文件拷贝 代码示例: package com.makefullstack.myio.test;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class…

2024-AIDD-人工智能药物设计-利用深度学习优化中药复方益气解毒方对胶质母细胞瘤靶点的药物设计研究

利用深度学习优化中药复方益气解毒方对胶质母细胞瘤靶点的药物设计研究 1. 引言 1.1 研究背景与意义 1.1.1 胶质母细胞瘤的治疗现状 1.1.1.1 胶质母细胞瘤的流行病学 1.1.1.1.1 全球与地区发病率对比 1.1.1.1.2 年龄与性别分布统计 1.1.1.2 传统治疗手段的局限性 1.1.1…

k8s集群部署

部署k8s集群 要求: 主机192.168.199.149(master)node节点(192.168.199.150,192.168.199.151)2个cpu或更多 所有机器可以联网,湖湘之间可以ping同,关闭防火墙,selinux,…

多模态模型Mini-Gemini:代码模型数据均开源,MiniCPM小钢炮2.0全家桶四连发,可以在Android 手机端上运行的大模型,效果还不错

多模态模型Mini-Gemini:代码模型数据均开源,MiniCPM小钢炮2.0全家桶四连发,可以在Android 手机端上运行的大模型,效果还不错。 多模态模型Mini-Gemini:代码模型数据均开源 香港中文大学终身教授贾佳亚团队提出多模态模…