- 博客(56)
- 资源 (1)
- 收藏
- 关注
原创 在App中打开URL
不废话,直接上代码!ios:+(void)openURL:(NSString*)url{ //需要注意 url不能带有中文。NSLog(@"openURL!!!!!");NSLog(url);if([[[UIDevicecurrentDevice]systemVersion]floatValue]>=10.0){//设备系统为IOS10.0或者以上的[[UIApplicationsharedAp...
2022-04-01 18:27:47
875
原创 打开Cocos Creator 编辑器,报错property uuid of null
我发现最近很多开发者都碰到了这个问题,我就来分享下我是排查这种错误的。如图这好像也看不到 是哪里uuid错误了!!!解决方案:那我们用命令行方式打开Cocos Creator,这时候,命令行就会报出报错信息了。看到报错信息,这里它指出了某个meta文件出错了,你可以直接去看看这个meta文件,很容易就解决了。...
2021-10-13 09:56:48
477
原创 突然发现xcode更新下载不了???
请留意,是否需要先更新Mac OS,有的xcode版本(尤其是最新版)需要系统支持。一般Mac OS为最新版的话,xcode不会下载不下来。
2021-04-28 22:26:21
566
原创 初识Promise
一、Promise是啥?Promise是异步编程的一种优雅的解决方案。它相比于回调和事件交互,更加合理和强大。它改善了深度回调的问题。 回调里面还有回调,层级较深的,代码看起来特别凌乱。而通过事件交互会多做一些工作,比如发送事件,监听事件,事件回调等操作。而Promise能够获取异步操作的结果,这样的话,方便进一步处理接下来的逻辑。Promise,简单来说,他就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。ES6将其写进了语言标准,并原生提供了Promise对象。Promi
2021-03-23 23:31:58
259
原创 JS 插入排序
算法描述插入排序的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中从后向前扫描;如果该元素(已排序)大于新元素,将该元素移到下一位置;重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;将新元素插入到该位置后;重复步骤2~5代码写法一:func
2021-02-28 22:38:03
398
原创 JS 冒泡排序
算法简介冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序不符合要求就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(数组的最前面)。代码第一种写法function bubbleSort(arr) { if (!Array.isArray(arr)) { return; } let sortedFlag =
2021-02-28 22:36:44
432
原创 在Cocos Creator Store中下载的插件和代码存放在哪里呢?
我们从Cocos Creator Store中下载插件或者代码/资源,放在哪里呢?有时候找还真有点费时间,现在记录下吧。下面是Mac版的截图无论是Mac版还是Windows版,文件夹路径是用户主目录/.Cocos Creator。例如:Mac:Umbrella1024/.Cocos CreatorWindows:C:/用户/Umbrella1024/.Cocos Creator其中download是存放代码项目、资源,packages是插件目录,所有的插件都放在这里。还需要注意的地方是,Ma
2021-02-19 15:48:49
1904
原创 JS 深拷贝与浅拷贝
其实在工作写代码和面试中,会经常碰到这两个概念:深拷贝,浅拷贝。但今天的重点是深拷贝。下面我将简单介绍下什么是深拷贝,浅拷贝?浅拷贝就是直接将一个Object对象所有的属性和属性值复制给另一个Object对象。这样导致的后果是,新对象和老对象相同的Object类型的属性值在内存中的指向是一样的,也就是新对象和老对象的Object类型的同一属性值指向的是同一块内存。因此修改新对象或者原对象,都会互相干扰。深拷贝是将一个Object对象的内容完全拷贝一份给新对象。修改原对象的属性或者属性值,都不会影响新对
2021-02-18 14:02:24
179
原创 WebGL坐标系、Canvas坐标系和浏览器客户区坐标转化
WebGL坐标系、Canvas坐标系和浏览器客户区坐标转化1.Canvas坐标系Canvas坐标系的原点在左上角,X轴向右为正,y轴向下为正2.WebGL坐标系WebGL坐标系的原点在绘图区域的中心点。X轴向右为正,Y轴向上为正,Z轴向外为正。3.浏览器客户区坐标与Canvas坐标和WebGL坐标的转换鼠标在浏览器客户区点击的位置为:(event.clientX,event.clientY)那么在canvas中的坐标(x,y)就是:var rect = ev.target.getBound
2021-02-09 23:25:15
1282
原创 Mac有网络,却访问不了网站???
Mac有网络,却访问不了网站???我的Macbook Pro今天更新了下系统,突然发现在有网络的情况下,不能访问网站了。www.baidu.com也访问不了。解决方案:进入偏好设置—>网络—>对应联网方式中的高级—>DNS然后添加114.114.114.114然后点击好,应用即可。解决啦!!!Windows下的解决方案类似,查看DNS地址,修改为114.114.114.114。...
2020-12-23 00:17:55
1983
原创 Js如何遍历嵌套的Object对象
如何遍历嵌套的Object对象嵌套不深的话,可以选择用递归的方式去遍历。在这里写一下递归遍历的方式。下面举个栗子:let obj = { x: 10, y: 20, children: [ { x: 1, y: 2, children: [ { x: 3, y: 4
2020-11-19 23:21:15
2908
原创 Js实现Object按照值的某些字段(数值类型)的大小进行排序
最近,有个需求:将一个Object对象,按照值的某个字段(数值型)的大小来进行排序。感觉这个需求也算是有点用,也有点意思吧!就记录分享一下。看代码,写的很挫,将就着看吧。能用就行,哈哈!var objs = { "aaa": { name: "小明", age: 30 }, "bbb": { name: "小红", age: 20 }, "ccc": { name: "小花", age: 40 }}/** * * @param {*} obj 对象 * @param
2020-11-18 21:41:49
2807
4
原创 TypeScript中的命名空间—namespace
TypeScript中的命名空间—namespace什么是命名空间?在很多语言中都有这个概念。命名空间是为了解决命名冲突。比如你在代码的不同地方,都定义了同名但是不同含义的函数、变量等,虽然不提倡这么做,但是有时候需要这么做。那怎么办呢?可以选择将同名但是不同含义的函数、变量等分别写在不同的命名空间中,就不怕有冲突报错啦!命名空间的关键字是namespacenamespace tsNamespace { let ownerName: string = "tsNameSpace";
2020-11-08 17:03:43
13185
2
原创 如何编写d.ts文件?(1/2)
如何编写d.ts文件?(1/2) 在很多项目中,会看到一些d.ts文件,比如Cocos Creator工程中,在创建工程后,会默认会创建一个creator.d.ts文件,它是用于为Cocos Creator中所有接口提供代码智能提示的。 那么,d.ts文件有什么作用呢?它是typescript写的用于类型声明的文件,它的主要作用是为js、ts添加智能提示。在项目中添加了对应的d.ts,并且在其中添加对应的变量、类型、函数等的声明,就可以在编写代码时,编辑器会提供d.ts声明文件中的提示。**当然
2020-11-07 19:36:47
1734
3
转载 Mac下安装cnpm
npm安装一些东西比较慢,安装cnpm加快速度,安装方法:打开终端,复制下面代码:sudo npm install -g cnpm --registry=https://registry.npm.taobao.org --verbose1这一行使用的淘宝镜像来进行安装cnpm,安装完成后输入以下代码检测是否安装成功:cnpm -v1出现如下示例即可:...
2020-11-04 23:06:09
783
原创 Cocos Creator中脚本组件的生命周期
Cocos Creator中脚本组件的生命周期在Cocos Creator中cc.Component有以下几个生命周期。onLoad、start、onEnable、onDisable、onDestroy、update、lateUpdate。那么他们的执行顺序是怎样的呢?并且他的作用分别又是什么?我们来做一个测试:写一个脚本,然后挂载在一个节点node上。然后将节点node初次显示,并且destroy掉。调用的顺序如图。至于这几个回调函数分别是什么作用,请看官方文档哦!https://doc
2020-09-22 00:31:20
689
转载 Creator | 2.3.3及后续版本浏览器无法断点和控制台不显示错误代码路径的解决方案
在2.3.3正式版的官方介绍中有这么一项:提升网页预览时的加载速度为了进一步提升开发效率,我们优化了网页预览时的脚本加载速度。不论是对引擎还是项目中的代码,载入速度都获得了提升。特别是在开启自定义引擎,或者使用手机扫码预览时,开发者都能得到更顺畅的体验。实际体验:预览的时候,加载速度提升多少没感觉出来,但手抖写出bug后,定位出错代码的时间却是增加了不少随手写个bug(写bug小能手):预览时报错如下:增加断点也会被无视:然...
2020-09-18 21:03:49
592
转载 关于android中的armeabi、armeabi-v7a、arm64-v8a及x86等
Android 设备的CPU类型(通常称为”ABIs”)armeabi-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。x86: 平板、模拟器用得比较多。x86_64: 64位的平板。1.armeabi:默认选项,将创建以基于ARM* v5TE 的设备为目标的库。 具有
2020-09-10 00:11:56
2652
转载 Mac如何在Finder中将隐藏文件显示出来
在Windows中,想要显示隐藏文件,我们知道只需要勾一勾 显示隐藏文件的选项就可以做到。但是在Mac中,系统似乎并没有界面化的设置显示隐藏文件的入口。今天我就查阅了相关的资料,整理了下。如何让 Finder 显示隐藏文件和文件夹第一步:打开「终端」应用程序。第二步:输入如下命令:defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder并且回车。可以看到隐藏文件就显示出来了。..
2020-08-31 19:50:33
999
原创 文件夹中含有空格,终端命令访问出现问题解决方案
在访问名称有空格的文件夹时,直接输入文件夹名(有空格),会报不存在该文件夹。因为默认空格后就是结束。那么在终端中,访问文件夹时,要在空格后加上\,然后再加空格和后续的字符即可。...
2020-08-21 21:38:22
4389
原创 Cocos Creator打包安卓包apk,测试时,看完广告,界面显示错乱问题
最近碰到了一个问题,再用Cocos Creator开发游戏,导出Apk,在玩的过程中,因为接入了第三方广告平台,我看玩广告之后,返回游戏,界面显示会错乱,在手机上表现为ttf字体的文字Label,显示错乱。我尝试了在返回游戏app时,延迟一帧刷新界面,即可解决界面错乱显示问题。this.scheduleOnce(()=>{//todo 刷新界面},0)...
2020-08-18 18:31:58
608
2
原创 Mac App安装后打不开的解决方案
当Mac App安装后,出现 进了安全与隐私中仍然要打开,依然提示打不开 或者是提示文件已损坏,移到垃圾桶什么的。用下面一条命令sudo xattr -d com.apple.quarantine /Applications/名字.app就OK!
2020-08-13 22:13:34
3893
转载 git下载
下载git时,先进官网看https://git-scm.com/download/win然后发现几kb的网速,这是要让我下一年么,找了找网上有没有其他的镜像,发现阿里有一个镜像,下载速度超快。网址:https://npm.taobao.org/mirrors/git-for-windows/爽歪歪啊!!!...
2020-07-29 12:59:57
216
原创 Cocos Creator 加载zip文件(将json表压缩成zip)
const { ccclass, property } = cc._decorator;@ccclassexport default class Helloworld extends cc.Component { m_cfgTableMap:any = {}; start() { this.m_cfgTableMap = {}; this.loadZip(); } loadZip() { let self .
2020-07-18 23:00:19
2299
原创 Lua实现md5加密
在网上随便搜了下,都没有lua md5加密的文章。希望我这篇能为大家提供一点助力!代码很简单,关键是md5文件库哪里来?local md5 = require("./md5")local y = md5.sumhexa("admin");print(y);在github上,有https://github.com/kikito/md5.lua关于md5加密的开源库,还挺好用的。放到同级目录,利用lua解释器,运行与在线md5加密网站加密结果一致。...
2020-07-13 22:18:58
5509
3
原创 JS 正则表达式 验证姓名 身份证号
var regName =/^[\u4e00-\u9fa5]{2,4}$/;if(!regName.test(name)){ alert('真实姓名填写有误'); return false;}var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(!regIdNo.test(idNo)){ alert('身份证号填写有误'); return false;}...
2020-07-13 15:40:36
1215
原创 Mac进行一些操作时提醒Operation not permitted的完美解决
1.关闭mac的安全机制,首先可以在正常模式下,输入 csrutil status 命令,查看mac安全机制是否开启。2.如果 Protection status: enabled 则要进入安全模式进行关闭。3.进行安全模式操作: 点击屏幕左上角苹果图标,点击重新启动按钮,屏幕暗下后立马按住command + R键,直到出现屏幕中央出现苹果图标停手。4.进入安全模式界面后不要,先会提醒设置语言,然后会看到安全界面操作,屏幕最上面一排,找到实用工具菜单,再在里面找到终端,点击后输入 ...
2020-07-08 21:08:16
6610
转载 异名童鞋的微信小游戏性能优化
异名最近负责了一个微信小游戏的项目,在版本迭代间隙对游戏的性能调优进行了一次尝试。这个游戏是个打击类游戏,下面展示一下游戏的预览效果????性能指标引擎和小游戏都有提供一个性能面板,给开发者们暴露了以下几个性能指标: Frame time(ms)每一帧的时间。《RAIL模型》建议在 10 毫秒或更短的时间内制作动画中的每一帧。从技术上讲,每帧的最大预算为 16 毫秒(1000 毫秒/每秒 60 帧≈16 毫秒),但是浏览器需要大约 6 毫秒才能渲染每帧,因此建议每帧 10 毫秒或者更短。
2020-07-07 22:32:45
1143
转载 Cocos Creator性能优化---DrawCall
前言在游戏开发中,DrawCall 作为一个非常重要的性能指标,直接影响游戏的整体性能表现。无论是 Cocos Creator、Unity、Unreal 还是其他游戏引擎,只要说到游戏性能优化,DrawCall 都是绝对少不了的一项。本文将会介绍什么是 DrawCall,为什么要减少 DrawCall 以及在 Cocos Creator 项目中如何减少 DrawCall 来提升游戏性能。正文什么是 DrawCall?DrawCall 中文译为“绘制调用”或“绘图指令”。DrawC
2020-07-07 22:22:13
1212
1
原创 在Linux上安装NodeJS
这里所用的Linux版本是CentOS 7.41.取NodeJS官网下载node的linux压缩包,或者wget https://xxxxx (nodejs压缩包下载地址)2.下载好后,将压缩包放到linux某个目录。如果你是windows上下载node的tar.gz包,那么用Xshell直接连接云服务器,拖进目录。如果出现传输失败。如图那么输入yum install lrzsz,等待安装完毕后,就重新把node压缩包拖进目录3.输入:tar zxvf node-v12.18.2.tar.gz
2020-07-04 22:04:10
339
原创 微信原生开放域实现排行榜和好友送礼
在使用Cocos Creator制作微信小游戏的时候,基本上都是需要排行榜功能的。鉴于如果使用Cocos Creator官方提供的WxSubContextView,会增大不少开放域包体。如果本身主域工程的包体已经有点大,并且还不想用分包加载的话,那么可以考虑使用微信提供的API和Canvas渲染来做排行榜系统。这样可以极大的减小开放域包体。一起来试试吧。下面我将分享我自己整理的一份微信原生开放域实现排行榜的工程。其中实现的功能有:用户授权按钮(位置适配)上传用户数据获取好友托管信息、展示好友排行榜(分
2020-06-28 23:06:16
581
转载 Cocos Creator Web打包去除默认加载,定制Loading页
正常CCC工程目录如下Web构建后默认名字为 'web-mobile',在工程目录'build'文件夹内。打开后如下图红框内就是我们要更改的文件。index.html* 的更改 main.js* 的更改 splash.png* style-mobile.css* 的更改Cocos Creator(后续简称 CCC)在打包构建后,都会展示默认显示CCC的LOGO。CCC的默认启动页可以 直接去除,也可以 更改图标, 删除进度条,或者添加一些 加载动效。本篇文章介绍的是打包为 W
2020-06-03 23:05:14
3892
原创 从数组中随机取n个元素
//随机获取[min,max]的随机整数let getRandomNumBetween = function(min, max) { return Math.floor(Math.random() * (max - min + 1) + min);}//从数组arr中,随机取nCount个元素,返回数组。可选择是否去重bQuChongvar getRandomArray = function(arr, nCount, bQuChong) { if (!(arr instanceo.
2020-05-31 10:20:25
2965
转载 算法的时间复杂度和空间复杂度
一、说明时间复杂度和空间复杂度是用来评价算法效率高低的2个标准,身为开发者肯定会经常会听到这2个概念,但它们分别是什么意思呢?其实这两个概念从字面意思上也能看出一二:时间复杂度:就是说执行算法需要消耗的时间长短,越快越好。比如你在电脑上打开计算器,如果一个普通的运算要消耗1分钟时间,那谁还会用它呢,还不如自己口算呢。时间复杂度是非常重要算法考察指标,甚至比空间复杂度更重要。因为现在大多数条件下,计算机的内存和存储都是足够充裕的。但是短时间能够出结果,用户体验会更好。空间复杂度:就是说执行当前算
2020-05-17 13:53:30
5566
2
原创 忘记虚拟机中MacOS开机密码
重启虚拟机系统 重启过程中按住"win" + "R"组合键 然后会出现安装界面,选择“实用工具/终端” 输入resetpassword 会弹出,重置密码,输入新密码,确认后重启即可。
2020-05-17 11:42:04
3362
1
转载 朋友的鹅厂面试经验(offer到手)
2020年也是我人生中低谷的一年,写下这篇博客一是分享,希望能给广大IT界朋友带来一些帮助,二是对自己的总结。这次面试之前我已有去腾讯面试过3次的经历,均已失败告终,但这次我抓住了机会最终拿到了offer,所以首先我想说的是不要害怕失败,特别是我们作为一个年轻人,更加不要害怕失败,因为对于我们年轻人来说,失败的代价是比较小的,除了不要害怕失败之外,更重要的是要敢于面对的失败,认识到自己的不足,默默去耕耘,去改正它,坚持不一定能成功,但不坚持一定难以成功!不得不说,腾讯是一家很重视人才的公司,只要你是一个善良
2020-05-16 23:59:19
1175
原创 JS实现---查找字符串中子串的个数
var findStrNumInParentStr = function(parentStr, childStr) { if (typeof(parentStr) !== "string" || typeof(childStr) !== "string") { return 0; } if (parentStr.length < childStr.length) { return 0; } let nNum = 0; .
2020-05-16 13:20:58
2468
转载 JS之Promise
PromisePromise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理且更强大。它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Promise对象。特点对象的状态不受外界影响 (3种状态) Pending状态(进行中) Fulfilled状态(已成功) Rejected状态(已失败) 一旦状态改变就不会再变 (两种状态改变:成功或失败) Pending -> Fulfilled Pending -> R
2020-05-11 23:04:29
343
原创 JS的call,apply,bind
请看实例代码var person = { name: "CoderXZ", age: 26, showInfo: function() { console.log("I am " + this.name + "," + this.age + " years old!"); }, showDetailInfo: function(province, city) { console.log("I am " + this.name
2020-05-11 22:29:28
213
原创 VS Code 如何设置文件顶部加入作者信息、日期和函数注释
1、安装插件KoroFileHeader2、左下角选择管理---设置---输入"fileheader"---点击"在setting.json中编辑"3、把下面的代码放到json文件中 // 文件头部注释 "fileheader.customMade": { "Descripttion":"", "version":"", "Author":"CoderXZ", "Date":"Do not edit",
2020-05-09 23:12:54
4418
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人