找茬游戏,对比两张图片,通过点击,双击,移动合成等,寻找出缺失的图片,直到所有的查找成功。
组织介绍

FindDiffProject

简介

找茬游戏,对比两张图片,通过点击,双击,移动合成等,寻找出缺失的图片,直到所有的查找成功。

环境

引擎: cocosCreator 3.8.0 语言: TypeScript


框架图示

graph RL

contans.ts -.常量表.-> Game
configFile -.配置表.-> Game
ManagerFile -.管理类.-> Game
UtilFile -.工具类.-> Game
游戏页面 -.-> Game

%% 配置表
关卡表 -.-> configFile
图配置表 -.-> configFile

%% UI页面
LoginLayer -.登录页面.-> 游戏页面
LoadingLayer -.加载页面.-> 游戏页面
MainLayer -.主页面.-> 游戏页面
GameLayer -.游戏页面.-> 游戏页面
SetLayer -.设置页面.-> 游戏页面
ResultLayer -.结算页面.-> 游戏页面

%% 管理器
AudioManager -.声音管理器.-> ManagerFile
EventManager -.事件管理器.-> ManagerFile
LocalManager -.存储管理器.-> ManagerFile
crypto-es -.数据加密.-> LocalManager
WechatManager -.微信管理器.-> ManagerFile

%% 工具
NumberUtil -.声音管理器.-> UtilFile
StringUtil -.事件管理器.-> UtilFile
TimeUtil -.存储管理器.-> UtilFile
EncryUtil -.数据加密.-> UtilFile

本地存储

本地存储数据为了安全起见,使用了 CryptoES 的第三方加密库,需要NPM 包管理工具进行安装, 运行命令:

npm install -g yarn
yarn add crypto-es

关于 NPM 相关,安装最新版本的Node.js相关即可, 具体可参考: Mac安装NPM及常用命令

加密库使用EncryptUtil 进行了封装, 支持md5、AES加密相关, 使用方法:

import { EncryptUtil } from '../util/EncryptUtil';

public Demo() {
  let value = "";
  // 初始化
  EncryptUtil.initCrypto("key", "vi");
  // 加密数据
  let newValue = EncryptUtil.aesEncrypt(value);
  // 加密数据
  let value_1 = EncryptUtil.aesDecrypt(newValue);
}

注: 在存在角色后,本地存储会以角色的唯一标识符:roleID_key 进行存储,避免不同角色数据冲突。


数据表

数据表使用Excel格式进行存储, 程序后续会使用工具强制转换为所需格式。 主要配置表有:

关卡表

关卡ID 关卡索引 标题 描述 最大显示时间 点错扣除时间 图块ID数组
id pointIndex title desc maxTime reduceTime [101, 102, ...]
  • 关卡ID, 用于服务器使用统计已通关卡
  • 关卡索引和标题, 用于客户端显示, 比如: 第10关: 光宇哥的崛起
  • 最大显示时间,用于客户端倒计时显示
  • 点错扣除时间, 用于客户端点击错误扣除时间
  • 图块ID数组, 用于获取图块数据相关

图块表

图块ID 位置 大小 缩放 是否翻转 图块名 图块类型
id pos: [0, 0] size:[100, 10] 1 true Name 1
  • 位置、大小、缩放、是否反转等,用于更灵活的控制图块信息的显示等, 大小相关取原始大小即可
  • 图块名字, 程序使用名字进行动态更换资源
  • 图块类型: 1. 点击 2. 双击 3.合并

成就
0
Star
0
Fork
成员(1)
lanseluoye

搜索帮助