Cocos Creator 中根据uuid快速定位资源

var BASE64_KEYS = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=‘;
var BASE64_VALUES = new Array(123); // max char code in base64Keys
for (let i = 0; i < 123; ++i) BASE64_VALUES[i] = 64; // fill with placeholder(‘=‘) index
for (let i = 0; i < 64; ++i) BASE64_VALUES[BASE64_KEYS.charCodeAt(i)] = i;

// decoded value indexed by base64 char code
Base64Values = BASE64_VALUES;

var HexChars = ‘0123456789abcdef‘.split(‘‘);

var _t = [‘‘, ‘‘, ‘‘, ‘‘];
var UuidTemplate = _t.concat(_t, ‘-‘, _t, ‘-‘, _t, ‘-‘, _t, ‘-‘, _t, _t, _t);
var Indices = UuidTemplate.map(function (x, i) { return x === ‘-‘ ? NaN : i; }).filter(isFinite);

// fcmR3XADNLgJ1ByKhqcC5Z -> fc991dd7-0033-4b80-9d41-c8a86a702e59
module.exports = function (base64) {
    if (base64.length !== 22) {
        return base64;
    }
    UuidTemplate[0] = base64[0];
    UuidTemplate[1] = base64[1];
    for (var i = 2, j = 2; i < 22; i += 2) {
        var lhs = Base64Values[base64.charCodeAt(i)];
        var rhs = Base64Values[base64.charCodeAt(i + 1)];
        UuidTemplate[Indices[j++]] = HexChars[lhs >> 2];
        UuidTemplate[Indices[j++]] = HexChars[((lhs & 3) << 2) | rhs >> 4];
        UuidTemplate[Indices[j++]] = HexChars[rhs & 0xF];
    }
    return UuidTemplate.join(‘‘);
};

// if (CC_TEST) {
//     cc._Test.decodeUuid = module.exports;
// }

var uuid = module.exports("d3u9uUb6lEnqDsTfYrxOdp")
console.log(uuid)

原文地址:https://www.cnblogs.com/roger-jc/p/12660502.html

时间: 2024-08-29 16:41:08

Cocos Creator 中根据uuid快速定位资源的相关文章

在 Cocos Creator 中使用 Protobufjs(一)

一. 环境准备 我一直在探索Cocos H5正确的开发姿势,目前做javascript项目已经离不开 nodejs.npm或grunt等脚手架工具了. 1.初始化package.json文件 npm init 当新建好cocos-js或creator项目,在项目根目录使用npm init命令,一路回车,将在当前目录创建package.json文件用于nodejs三方模块的管理.关于npm的使用细节网络上有很多教程,在此不用细说. 2. protobufjs模块 本人最早在cocos2dx 2.x

Cocos Creator中的动画支持技术

Cocos Creator主要亮点 官方的权威描述是:Cocos Creator是以内容创作为核心的一体化游戏开发工具,这个引擎基于Cocos2d-x,组件化,脚本化,数据驱动,跨平台发布.本人使用一段时间后的感觉是,这个工具并不仅仅实现了开发语言由C++向Javascript的转移(当然Cocos Creator是从Cocos2d-js发展而来的),其真正的亮点在于它实现了全面型游戏开发思想的转变.程序员与美工都要熟悉这个工具的整体使用流程,并重点了解二者如何交互.本人感觉在设计之初,通过类似

Cocos Creator 中 _worldMatrix 到底是什么(上)

Cocos Creator 中 _worldMatrix 到底是什么(上) 1. (矩阵)Matrix是什么,有什么用 (矩阵)Matrix一个神奇的存在?在开发过程中对里边各项值的含义是不是抓耳挠腮,百思不得其解?今天我们就来庖丁解牛,拨开它的神秘面纱.由于内容较多,关于Cocos Creator 中的_worldMatrix会分为三篇文章完成.最终形成一个完整的demo 首先我们先看看在Cocos Creator编辑器中,对应图形的变化都有那些属性,如下图 红框的地方分别是位移.旋转.缩放.

下拉框中选项的快速定位

对于选项很多的下拉框 <select>,人工定位到想要的项目是很费劲的.浏览器其实原生支持下拉选择框根据键盘输入自动定位到相应条目的. 通过输入条目字母定位到下拉框中条目的位置 方便是方便,有个问题是连续输入不能间隔太久,这个间隔实测中感受是非常短的,如果想找的条目比较难输入,就无法在短时间内完成这个操作. 那有没有相应 API 修改这个间隔时间呢?不能,至少我还没找到. <datalist> 其实 HTML5 中提供了另外一个元素,<datalist>.用它结合一个文

在Qt Creator中为Qt工程添加资源

1.右键单击工程 -> Add New ... -> Qt -> Qt Resource File -> Choose... -> Name: -> Next -> Finish 2.右键单击qrc文件 -> Open in Editor -> Add -> Add Prefix -> Prefix: -> Add -> Add Files 例如,要为QLabel设置Pixmap,可通过设计器为其pixmap属性设置图片资源,或

在cocos creator中使用代码给TileMap地图块添加碰撞体

cc.Class({ extends: cc.Component, properties: { tiledMap:cc.TiledMap }, // LIFE-CYCLE CALLBACKS: onLoad () { //开启物理效果 cc.director.getPhysicsManager().enabled = true; cc.director.getPhysicsManager().debugDrawFlags = true; }, start () { let tiledSize =

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试

快速定位隐蔽的sql性能问题及调优【转载】

在前几天,有个开发同事问我一个问题,其实也算是技术救援,他说在有个job数据处理的频率比较高,在测试环境中很难定位出在哪有问题,而且速度也还能接 受,但是在生产环境中总是会慢一些,希望我能在测试环境中协助他们,看看是不是sql语句出什么问题了还是其它相关的问题. 这种类似实时监控的语句,从第一印象来说,很可能通过awr捕获不到,如果通过ash来捕获,因为测试环境中有几十套测试环境在运行,就算得到某个时间点 的一些sql语句,直接在报告中映射到语句对应的schema信息还是有一些困难的.因为测试时

COCOS CREATOR(TS)之setTimeOut

一 : 前景 有很多前端可能觉得setTimeOut不值得一讲,But,在不同的平台setTimeOut的执行是有一定的规则需要遵守,有时也叫迫于无奈.比如,前几日的开发中发现一个非常奇怪的现象 , 就是setOutTime在Web / 微信IDE端都是可以起作用的 , 但是一旦到了手机微信中运行,好似就不那么灵光了.今日抽了点时间好好测试了一番 , 内容如下: 二 : 测试 Ⅰ,测试环境如下(使用TS代码)Ⅱ,代码1,测试思想分别给出有参数(setTimeOut自带传参和setTimeOut不