自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (8)
  • 收藏
  • 关注

原创 C/C++ 链表详解

众所周知,链表不同于数组和向量,它在物理存储单元上并不是连续的一块空间。冗余的话不多说,直接实际操作。一、 合并成有序链表说明: 已知两个有序链表,自定义函数把这两个链表合并成一个依然有序的链表。注意: 以下代码,可以按序全部拷贝到开发工具中(有时会遇到版本兼容性问题)。1、引入头文件必不可少#include<iostream>using namespace std;...

2019-11-15 09:30:36 1569

原创 C/C++ 排序算法(经典)

/*冒泡排序*思路:比较相邻的前后二个数据,如果前面数据大于后面的数据,*就将二个数据交换。这样对数组的第0个数据到N-1个数据进行一次遍历后,*最大的一个数据就“沉”到数组第N-1个位置。 N=N-1,如果N不为0就重复前面二步,*否则排序完成。*/void BubbleSort1(int a[], int n){int i, j;for (i = 0; i < n;i+...

2019-10-09 13:51:38 710

原创 vue使用路由router-view

vue router router-view

2023-03-21 17:19:15 6412

原创 html2canvas实现下载或复制功能

前言开发h5项目时,我们会遇到下载或复制某个div内的所有内容,这时候我们可以用 html2canvas 来实现。顾名思义,html2canvas就是将html元素转化为canvas画布,之后再将canvas导出图片。本文就将如题所示功能奉上。一、属性介绍1、scrollX:类型number,默认值不清楚。解决div元素太大超出屏幕宽度,导致生成的canvas显示不全的问题。2、scrollY:类型number,默认值不清楚。解决div元素太大超出屏幕高度,导致生成的canvas显示不全的问题。3

2021-04-02 17:49:34 1862 1

原创 选择城市省市区三级联动

开发项目时,有时会遇到类似下图所示的地区选择。这个功能需要下载一个城市对应表,一般被称做city.json或city.js,当然,即便是同一种后缀格式的文件,其内部数据结构也是各有千秋。在此,为大家免费提供city.js,希望对你有所帮助。...

2020-11-17 11:42:12 561 3

原创 微信小游戏分享给好友或朋友圈

一、简介微信小游戏分享功能可以通过两者方式实现:1、被动分享:如下图所示,点击“右上角的小点点”调起分享接口,这种被称做被动分享。2、主动分享:如图,游戏内点击自己创建的”分享“调起分享接口,这种被称做主动分享。小提示:要测试分享功能的话,只能在真机上运行才能看出效果。开发工具目前只能进行简单的模拟效果。了解了上面两个概念,我们开始代码实现。二、代码实现1、被动分享:我们把此功能写在passiveShare()函数内,在onLoad()或init()时就直接调用。passiveShare (

2020-11-13 15:00:17 9255

原创 微信小游戏接入微信登录

前言:针对如题的内容,微信官方文档也只是说了几个关键点,详细过程含糊不清。本篇博文就直接奉上整个登录流程。一、步骤与思路1、调用 wx.login(object) 接口获取登录凭证 code。2、如果第1步成功,在“success”中调用 wx.getSetting(object),检查是否已经授权。3、如果已经授权,则可以直接调用 wx.getUserInfo(object) 拿到用户信息。4、如果未授权,调用wx.createUserInfoButton(object),调起授权按钮,授权成功

2020-11-11 11:48:36 8263

原创 async.parallel async.auto 和 async.waterfall

简介async:流程控制器,控制异步回调。其强大之后在于可以控制代码的执行顺序。本文主要描述如题所示的三种控制方式。一、async.parallel并行处理每一个流程,流程间没有依赖关系,最后汇总结果。中途某个流程出错就会退出。// 定义一个对象 obj,并在函数中输出日志,查看结果let obj = { func1: (callback) => { setTimeout(()=>{ console.log("&g

2020-11-07 15:56:39 1085

原创 cc.tween 动作系统详解

说明: 以下示例中的node节点,其类型是cc.Node。一、单一动作node节点的颜色在1秒内渐变成红色。想要改变什么属性,只需要在花括号内写入正确的属性名称,并设置值即可。cc.tween(node).to(1, {color: cc.color(255, 0, 0)}).start();二、同步动作相当于 cc.spawn ,同时执行多个动作。cc.tween(node).to(1, {position: cc.v2(70, 100), scale: 2}).start();

2020-10-22 16:18:54 8997 1

原创 CocosCreator Map的遍历方式

注意: 以下内容是基于TypeScript语言编写。一、 创建一个Map1、创建cc.SpriteFrame 类型的Map:private spriteFrameMap: Map<string, cc.SpriteFrame> = new Map();2、set函数:setSpriteFrame (key: string, value: cc.SpriteFrame): void{ this.spriteFrameMap.set(key, value);}3、get函数:

2020-10-10 16:27:34 2089

原创 延长Beyond Compare的使用期限

提示: 以下操作基于苹果电脑,如果是Windowns系统的话,可能不适用。1、首先运行一下安装好的 Beyond Compare,要不然以下操作没办法进行。2、之后,我们显示一下隐藏的文件夹,在终端输入如下指令就能显示了。defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder3、前往资源库,没有资源库的话,可以前往个人或电脑。4、找到 资源库 > Application Support

2020-07-15 10:49:48 313

原创 使用shell脚本批量修改文件名

工作中,有时需要批量修改一些文件的名称,那么在量很大的情况下,我们就要学会用脚本来操作了,既省时又省力。一、生成可执行文件提示: 执行修改操作之前,我们先创建一个可执行文件。1、新建一个无后缀格式的文件,比如文件名叫 rename。2、打开终端,cd到 clear_meta 所在的目录。3、终端输入命令 sudo chmod u+x clear_meta。4、执行成功后,rename 文件就变成可执行文件了。二、编辑 rename 文件1、为了方便测试,我准备了一个 0icon 文件夹,里面

2020-07-10 16:29:34 19269 3

原创 http/https + nodejs 同时响应http和https请求(附含SSL证书申请)

前言Https 协议 是在 Http 协议的基础上进行了数据加密。所以使用 Https 协议 进行请求访问时,一定要有 SSL证书 (申请流程可以参考 SSL证书申请)。这篇文章主要讲述搭建简易服务端,用来接收 http 和 https 请求。友情小提示: 如果你对nodeJs创建服务端比较陌生,可以先阅读 http请求未知对象的文章,能够加深进一步的了解。一、将SSL证书导入项目内1、我们将下载的 SSL证书 重新命名(包括修改后缀),私钥 文件命名为 private.key ,证书 文件命名为

2020-07-09 18:11:55 2496

原创 SSL证书申请

前言SSL(安全套接字层)证书 是数字证书的一种(类似于营业执照、身份证),主要用于服务器开发。我们如果想使用 Https协议 访问服务,就必须有它的支撑。接下来我们了解一下申请阿里云服务下的SSL免费证书。正文1、登录我们的阿里云账号(没有账号的话,只能注册一个了,否则没办法享受其旗下的服务)。2、打开控制台(一般在首页右上角,姓名旁边)。3、之后,在搜索框内直接搜索 SSL证书应用安全,并点击搜到的结果。4、新页面打开之后,里面有一个"购买证书",不要怕,这里就是申请SSL证书的入口了,

2020-07-09 16:52:15 530

原创 C/C++ 将包含某个标识字段的语句整理到一个文件内

前言工作中我们可能遇到这样的问题,一个文件的内容杂乱无章(多见于输出的日志),而我们又要找全部的包含某个字段的语句,如果不利用其他方法,真的是一件很头疼的事情。接下来奉上一篇可以解决类似问题的代码。编程1、 我们以后缀是 curent.log 的文件为例(代码是可变的,也可以改成其他格式的后缀),如下图所示。里面的内容很乱,包含了很多的TableKey。如果我们想找包含TableKey:986375的语句,只靠手工的话简直难于上青天。2、不怕,我们直接上代码,把包含TabelKey:986375的

2020-07-09 11:39:21 262

原创 邓白氏编码的申请流程

邓白氏编码是由9位数字编制而成的全球唯一企业身份标识,相当于人民的身份证号。接下来走一波申请流程。提示: 操作之前请先准备一个Apple ID,个人信息名称要用英文,要不然申请邓白氏编码时有可能会因为格式不正确被驳回。一、找到邓白氏编码申请入口1、首先打开 https://developer.apple.com 网页,点击Account,之后登录自己的Apple ID。如下图所示。2、登录成功之后,我们就来到了首页,选择 join the Apple Developer Program。3、

2020-07-08 15:05:25 35692 2

原创 使用shell脚本删除指定后缀文件

前言在实际开发中,合并项目时可能会遇到 uuid 冲突的问题,所以我们需要删除一些 .meta 文件,让其重新生成。这个过程如果是手动去删除的话,显然不符合实际。接下来,我们就简单了解一下用 shell 脚本执行删除命令。一、生成unix可执行文件提示: 执行删除操作之前,我们先创建一个可执行文件。1、新建一个无后缀格式的文件,比如文件名叫 clear_meta。2、打开终端,cd到 clear_meta 文件的根目录。3、终端输入命令 sudo chmod u+x clear_meta。4、

2020-07-06 11:31:41 1545

原创 http + nodeJs 获取未知对象的key值

前言   有时我们访问网址的时候会携带一些参数,服务端收到请求之后,会做出不同的响应。但我们服务端也要考虑一下这些参数如果存在未知对象怎么办。接下来,我们就简单的了解一下。步骤1、首先搭建一个服务端,用来接收http请求。2、网址以 http://localhost:8080/setValue?&value=0 为例进行访问。3、上述中的 “?value=0” 是可以随意改变的,就是我们要说的未知对象内容。一、搭建简易服务端提示: 服务端使用nodejs编程,npm所需的模块(如果你对

2020-07-01 16:48:05 1198

原创 CocosCreator 硬核 微信小游戏分享战绩、截图到微信

前言上一篇提到了APP如何分享战绩到微信,但每个引擎都有自己独有的一套渲染方式,所以这套方案不适用于微信小游戏的截图分享。本文就简单讲述一下微信小游戏如何分享战绩、截图给微信好友。提示:第一部分是 js客户端 截图代码,第二部分是 SDKInterfaces接口 代码。分享成功之后,微信内可以点击分享内容直接进入小游戏。一、js客户端下述代码使用到了 canvas ,如果你对其不太熟悉,可以先学习了解一下。我们把这段代码封装在 share_image 函数中share_image:functi

2020-06-28 18:11:43 753

原创 CocosCreator 硬核 APP分享小游戏接口、链接到微信,好友可点击进入

注意该文是讲述APP分享出来一个可点击链接给微信好友,然后好友点击之后可以直接进入微信小游戏。这样好友想在APP上玩也行,想在小游戏上玩也行,岂不是很开心。此功能必须满足以下几个条件:1、必须有线上的APP。2、必须有和APP相同内容的微信小游戏。3、APP和小游戏的服务器数据必须互通或共用一个服务器。提示第一部分是 js客户端 分享代码,第二部分是 SDKInterfaces接口代码。一、js客户端share_wechatgame:function(){ // 小游戏的原始ID(如果

2020-06-28 18:08:14 4883

原创 CocosCreator 硬核 APP分享下载地址到微信

前言APP分享链接到微信实现起来还算比较简单,但网上大部分都没有完整的、可借鉴的例子,所以我整理了一份。希望对你有所帮助。提示第一部分是 js客户端 分享代码,第二部分是 SDKInterfaces接口 的调用。一、js客户端客户端分享下载地址操作内容较少,我们直接来看share_url:function(){ // 下载app的地址,自己填写 var url = "https://xxx.xxx.xxx/xx" //接下来做java交互 jsb.reflection.callSt

2020-06-28 17:24:26 583

原创 CocosCreator 硬核 APP分享战绩、截图到微信

前言相信一些开发者也遇到过APP分享战绩至微信的问题,大家一般首选 RenderTexture来实现该功能,但Creator2.0之后的版本,弃用了该渲染树,导致很多接口和功能不能用。别担心,去除一个东西,总会有另外一个东西来替代,所以重心就转移到了Camera身上。提示该文章详细讲述了截图、交互、分享的流程,代码可以按需参考使用。第一部分是js客户端的截图交互代码,第二部分是SDK接口分享的代码。一、js截图、交互代码1、我们把该方法封装到 share_image 函数中。share_imag

2020-06-24 12:36:11 849

原创 CocosCreator 小知识

destroy 和 removeFromParent 的区别一个节点调用 removeFromParent 后,它不一定能立即完全从内存中释放,还可能会因为一些逻辑上的问题,导致程序中仍然引用到了这个对象,比如:node.removeFromParent()otherNode.addChild(node) //该对象并没有被释放所以,一旦某个节点不再使用,直接调用destory,可以降低......

2019-12-06 16:27:02 1133

原创 CocosCreator + nodeJs 课程14 生命周期回调函数

CCC脚本组件提供了生命周期的回调函数,接下来我吗一一了解一下。onLoad组件脚本初始化阶段,也就是节点首次激活时会执行此函数,比如节点所在的场景被载入时。onLoad函数总是在任何start函数调用前被执行,这样脚本的初始化顺序就得到了保障。startstart 回调函数会在组件第一次激活前,也就是第一次执行 update 之前触发。start 通常用于初始化一些中间状态的数据(也就是...

2019-12-06 16:17:59 311 1

原创 CocosCreator + nodeJs 课程13 访问节点和其他组件

属性检查器 中设置节点在 属性检查器 中设置节点,只需要在该组件绑定的脚本中声明一个节点即可,下面以cc.Node为例。cc.Class({ extends: cc.Component, properties: { player: { default: null, type: cc.Node } ...

2019-12-06 15:46:51 308

原创 CocosCreator + nodeJs 课程12 艺术数字资源

前言: 开发过程中,难免用到艺术字体来代替纯文本。接下来我们了解一下CCC中艺术字体的使用。制作 LabelAtlas1、准备一张包含所需字体样式的图片,如下图所示(示例资源大小为 1000 x 46, 每个艺术字大小为100 x 46)。2、在 资源管理器 中,右键点击选择 新建 -> 艺术数字配置,并命名为numAtlas,选中该标签,我们可以在 属性检查器 中看到如图所示属性。...

2019-11-18 15:22:08 617

原创 CocosCreator + nodeJs 课程11 音乐和音效

方式一:1、我们在resources文件夹下,新建audioFile文件夹,用于存放所需要的音乐和音效资源。之后,把准备的bgMusic.mp3资源放入该文件夹。2、在主页面中添加一个button组件,并命名为musicPlayBtn。同理,创建一个musicPauseBtn。3、接下来我们写一个播放和暂停音乐的脚本audioScript。直接使用cc.audioEngine.play...

2019-11-18 15:21:47 1322

原创 CocosCreator + nodeJs 课程9 测试账号登录

前言:

2019-11-18 15:20:58 787

原创 C/C++ 使用指针操作数组

在进行如题操作之前,我们先预先熟悉一下指针和数组。有些初学者可能知道这两个名字,但或许还搞不懂其本质。指针指针本身也是一个变量,他存储的是另外一个变量的存储单元地址。读完上面这句话,是不是有点明白指针的意义了。指针四大特点:1、指针本身是一个变量,值是一个存储单元的地址。2、指针的值可以发送改变。3、多个指针可以指向同一块内存存储单元。4、指针必须有类型,如int类型的指针。数组...

2019-11-15 16:52:02 5238

原创 C/C++ 对象的添加与删除(二)

前言: 文章 对象的添加与删除(一) 只是简单的操作练习,包括内存管理都是简单的浅拷贝。那么这篇文章就带大家一起深入探讨动态内存分配、构造函数 和 析构函数的应用。要求与说明: 创建一个Person类,属性包括姓名和年龄,并重载运算符输出Person对象。之后创建一个PersonSet类,用来添加、删除或查找Person对象,要求可以动态开辟和释放存储空间。 最后在main函数中测试实例。本文...

2019-11-15 14:42:46 1319

原创 C/C++ 对象的添加与删除(一)

有些博主在发布文章前总是说一堆题外话,我呢不喜欢这样,直接贴代码可能对你的理解和帮助更大。编程要求:定义一个Date类:变量:年,月,日函数:构造函数,获取函数,设置函数,输出函数定义一个Person类:变量:组合,Date d,*name,*address函数:构造函数,析构函数,输出函数普通函数:addPerson函数,把对象添加到arrayshowArray函数,把数组中...

2019-11-15 11:08:15 3474

原创 CocosCreator + nodeJs 课程8 安卓接入微信登录之友盟接入

我们使用友盟提供的第三方功能来实现微信登录功能。大家注册一个友盟账号。需要下载的内容一一介绍(也可以到本博客)

2019-11-05 14:39:37 964 1

原创 CocosCreator + nodeJs 课程7 安卓接入微信登录之获取签名

该章节需要配置的文件比较多,我们一一介绍。给大家提供一个官方使用文档(跳转至该文档),希望能对你的理解有所帮助。下载Java SDK(JDK)在上述文档中,找到如下图所示的内容:点击之后,我们接受协议内容,并下载相应版本。(站内下载的时候,可能会需要Oracle账号登录,没有该账号的学者可以注册一个)下载Android Studio需要注意的是,老版本和新版本的Android Stu...

2019-11-05 14:39:20 396

原创 CocosCreator + nodeJs 课程5 随机数ID的生成

平时我们玩游戏或者登陆软件的时候,都会给你分配一个ID。众所周知,庞大的玩家基数会拥有庞大的ID数据,如果不做管理,随机给你分配一个ID,可能就要花很长时间才能匹配到不重复的ID。接下来,我们就来了解一下如何不重复并快速的分配ID。我们先做准备工作:需要的serverConfigDebug.json文件:{“ids”:{“from”:10000000,“to”:99999999,“c...

2019-11-04 16:12:24 596

原创 String.prototype.format字符串拼接

在日常工作中,难免会遇到字符串拼接的问题。接下来我们用JS列举一些操作方法。方式一:String.prototype.format = function(){var args = arguments;return this.replace(/{(\d+)}/g,function(m,i){return args[i];});}调用:var test = “mongodb://...

2019-10-21 11:41:33 520

原创 CocosCreator + nodeJs 课程4 mongoDB简易使用

有兴趣的学者可以搜索"MongoDB概念解析",可以详细、系统的学习该知识点。我们做一些和上述网站不同的讲解,包括mongoDB安装包资源下载,希望可以对学者有所帮助。mongoDB是一个基于分布式文件存储的数据库,它将数据存储为一个类似JSON对象的文档,数据结构由键值(key=>value)对组成。其格式可以参考如下:1、在网上搜索并下载mongodb服务,下载所需的文件包(也可...

2019-10-18 14:46:03 272

原创 C/C++ 常见类型题库

1、 输出3个数的最大数。#include <stdio.h>int main(int argc,const char * argv[]){int a,b,c,max;printf(“请输入三个数字:\n”);scanf("%d%d%d",&a,&b,&c);if(a>b) max=a;else max=b;if(max<c)max=...

2019-10-17 17:01:10 2040

原创 CocosCreator + nodeJs 课程3 mocha测试框架的使用

在开发中,养成编写测试用例的习惯是必不可少的,mocha就是一个运行在nodeJs 上的简单测试库。1、安装mocha(二者选其一即可):(1)全局安装:npm install --global mocha(2)项目组安装:npm install --save-dev mocha2、mocha中的 describe和 itdescribe声明了一个测试集合,且可以嵌套管理。it声明定义...

2019-10-09 17:56:59 576

原创 CocosCreator + nodeJs 课程2 javaScript高级进阶

本篇内容我们以访问“天气”为例,来简单的学习 Promise。直奔主题:一般情况我们调用一次API就可以完成请求,有些情况我们需要反复调用服务器API,这就会形成一个链式调用,这个时候我们可能就会陷入回调带来的问题深渊。介时,我们就有必要依赖于异步进行操作,在nodeJs中,我们就会用到Promise。一、Promise:1、主要用于异步计算。2、可以将异步操作队列化,按照期望的顺序执行,...

2019-10-09 15:28:27 1724

原创 CocosCreator + nodeJs 课程1 nodeJs的简单搭建与使用

注意:Express API 可参考 http://www.expressjs.com.cn/4x/api.html部分代码 可以参考 https://msgpack.org1、下载安装WebStorm,以后课程运行与打包均使用此编辑器。2、打开浏览器,输入http://nodejs.org网址,进入下载最新版本的nodeJs, 并安装。3、创建一个空文件夹,并用WebStorm打开,...

2019-09-27 18:11:20 2240

太阳系内的流体集合json格式文件

世界上的国家,数据结构

2021-11-20

中国民族编号,包括简称和详细信息

中国民族编号,包括简称和详细信息

2021-10-27

省-市-区 三级联动资源文件

该文件数据结构简单,层级鲜明,建议采用。

2021-03-22

省-市-区 三级联动资源文件

省-市-区 三级联动。该文件数据结构比较直接,但需要研究数据间的关系,代码实现稍微复杂,但文件数据较小,查询速度较快。

2021-03-01

省-市-区 三级联动资源文件

省-市-区 三级联动。该文件数据结构简单明了,一眼就知道怎么使用,代码实现起来比较简单,但文件数据较大,影响查询速度

2020-11-17

接入微信登录之友盟接入

友盟SDK集成包,提供第三方微信登录功能,项目接入此集成包,就可以用微信登录了。

2019-10-30

mongodb3.4.1-mac.tgz

nodeJs+CCC 课程4 mongoDB简易使用 所需的mongoDB包.

2019-10-18

assets.zip

初学CCC制作过程,简述一个关于PageView视图的操作流程,对于像我这样的初学者也许有帮助

2019-08-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除