自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 cocoscreator日志打印封装

背景随着工作时间拉长和经手项目增多,代码规范性和严谨性越来越被自己重视起来。近期在做集福卡的时候,由于跟服务器对接的接口较多,在调试接口的期间代码里添加了不少日志打印信息(console.log),以至于在项目正式上线前,花了一部分时间去关闭一些不必要的调试信息。可能有些网友会说,直接全局搜索,在console前加注释符号//,当然这也是一个办法,但总有一些个别的日志信息需要保留一下,或者一旦出...

2020-01-20 16:47:31 3223

原创 cocos2dx游戏项目,集成到其他安卓项目工程之中!

cocos2dx游戏项目,集成到第三方安卓项目工程之中。

2023-05-16 11:09:41 1729

原创 JavaScript超大或超小数值精确度丢失解决方案

JS数值精确度丢失问题解决方案

2022-08-16 15:48:28 1353

原创 cocoscreator网页游戏远程资源加载

背景引擎版本cocoscreator v 2.4.2,语言javascript。情况1用户头像为非微信头像,即公司服务器头像加载,需首先设置存放用户头像的静态资源服务器运行跨域;如果配置了域名,则设置域名运行跨域,前端代码代码实现如下:/** * 渲染头像 * @param {cc.Sprite} spAvatar 头像节点 * @param {String} url 头像地址 * @returns 头像地址为空时 返回 */

2022-05-12 10:15:27 1401

原创 WebSocket示例解析(可直接使用)

WebSocket示例解析(可直接使用)

2022-04-06 16:27:19 4092

原创 XMLHttpRequest.readyState请求状态码0、1、2、3、4;服务器常见状态码1xx、2xx、3xx、4xx解析

xhr.readyState 请求状态0:请求未初始化,还没有调用 open() 。1:请求已经建立,但是还没有发送,还没有调用 send() 。2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。3:请求在处理中;通常响应中已有部分数据可用了,没有全部完成。4:响应已完成;您可以获取并使用服务器的响应了。服务器状态码1xx:表示临时响应并需要请求者继续执行操作的状态代码。初始化100(继续):请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。1

2021-12-01 15:23:03 2326

原创 JavaScript数组sort()排序函数详细解析

定义和用法sort() 方法用于对数组的元素进行排序。排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序。请注意,数组在原数组上进行排序,不生成副本。基础用法1、字符/字符串排序//单字符排序,不可大小写混用let letter= ['B', 'C', 'A'];letter.sort();console.log(letter);//["A", "B", "C"]//字符串排序var fruits = ["Banana", "Orange", "Apple", "Mango

2021-06-28 17:29:17 2142

原创 程序员聊天记录随笔

结束语:《狂人日记》:“我翻开历史一查,这历史没有年代,歪歪斜斜的每页上都写着 ‘仁义道德’ 四个字。我横竖睡不着,仔细看了半夜,才从字缝里看出字来,满本都写着两个字是 ‘吃人’ !”特蕾莎修女说:我们以为贫穷就是饥饿、衣不蔽体和没有房屋;然而最大的贫穷却是不被需要、没有爱和不被关心,末后的时代,物质的丰富,无法掩盖精神的贫穷;光鲜的外表,无法隐藏心灵的空虚;社会的进步,无法修饰爱心的冷漠,耶稣说:只因不法的事增多,许多人的爱心,才渐渐冷淡了。...

2021-06-21 16:30:40 513

原创 JavaScript事件派发和监听机制实现

使用场景H5游戏开发,跨JS文件事件监听及派发,游戏引擎cocoscreator v2.4.2,开发语言JavaScript。代码实现/** * 事件派发机制 EventListener.js @半世 2021/05/25 */const EventListener = { //事件表 Regsiter: {}, //注册事件 on: function(name, method){ if(!this.Regsiter

2021-06-03 14:45:40 746

转载 JavaScript 中 call()、apply()、bind() 的用法

参考文档(菜鸟教程)https://www.runoob.com/w3cnote/js-call-apply-bind.html其实是一个很简单的东西,认真看十分钟就从一脸懵B到完全理解!例1var name = '小王', age = 17;var obj = { name: '小张', objAge: this.age, myFunc: function(){ console.log(this,.name+'年龄'+this.age); }}obj.objAge; // 17

2021-05-25 09:48:35 242

原创 vue数据和UI双向绑定(数据驱动、数据刷新)实现原理

背景在vue中,通过v-model可实现数据和UI的双向绑定,即:当数据改变时,UI自动刷新;当UI改变时,数据自动更改。直接上代码,下面是JS版双向绑定简单实现:代码<html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content

2021-05-07 13:49:29 667

原创 JavaScript正则表达式学习笔记

常用函数了解正则之前,有几个函数一定要知道。字符串对象方法:1、search 查找字符串中是否含有某一个字符,并返回其所在的位置。2、match 返回一个字符数组,数组里面放的是符合查询条件的所有字符串。3、replace 替换指定字符或字符串。4、splite 字符切割函数。以上,四个方法皆为JS字符串内置对象所自带的函数方法,参数可以传string类型,也可以传正则。正则对象方法1、test 返回值为boolean类型,参数传一个字符串。如果符合正则筛选条件,则返回true;否则,返回

2021-04-23 11:41:47 308

原创 H5游戏loading页面样式制作(cocoscreator版)

背景前阵子,美术设计了一个H5游戏loading页面的UI。如图:刚看到这张UI图的时候,没有很好的实现思路。(第一版UI图,美术少打了一个字母,哈哈哈。)当时,有两个想法:1、找产品压缩需求,能不能制作一个loading动图放那里,下面的进度条不要。2、新建一个资源加载场景,场景里面内容就如上图一样,至于最前面的引擎资源加载页面(cocos发布后自动生成的那个黑色资源加载页面),我给它设置成全透明。因为,进游戏后,先进入资源加载场景,场景资源很少,所以可以很快的进入资源加载页面,然后在资源加载页

2021-04-22 10:55:01 2111 4

原创 JavaScript面向对象详细解析(小白版)

ES5面向对象ES5中的javascript实现类的常用方式 //声明一个类(Person即是类,又是构造函数) function Person(name, age){ this.name = name; this.age = age; }; //往Person对象中添加方法 Person.prototype.show = function(){ console.log(this.name, this.age); }; //创建对象 var p = new Person('bl

2021-02-03 10:51:26 403

原创 JavaScript数组批量删除某一类型元素

举例需求:删除数组[1, 3, 5,5, 6, 8, 9]中的数字5;代码实现://方法一 逆向循环遍历数组let arr = [1, 3, 5, 5, 6, 5, 9];for (let i = arr.length - 1; i >= 0; i--) { if (arr[i] === 5) { arr.splice(i, 1); }}console.log(arr);//输出结果:[1, 3, 6, 9]//方法二 使用数组自带filter方法(该方

2021-01-29 15:24:30 913

原创 吐槽,开发过程中的:阎王好斗,小鬼难缠!

马斯克说过一句经典的话:我现在不和人争吵了,因为我开始意识到,每个人只能在他的认知水准基础上去思考,以后有人告诉我2加2等于10,我会说你真厉害你完全正确!初次,看到这句话的时候,若有所思。想到了自己初入职场时,一些幼稚的言语和理论;想到了自己身边一些同事在语言描述上不严谨的地方;想到了自己或同事因知识深度和广度的匮乏,而产生的一些笑料。比如,前阵子因适配安卓低端机的webview,跟原生组的大佬所产生的争论。我这边认为:我做的H5小游戏,在那部低端机的自带的浏览器中就可以打开,为什么在app中.

2021-01-08 17:46:07 586

原创 原生webview内核对于H5页面渲染兼容性

IOS安卓安卓系统自带webview首先,系统webview,是默认的webview,及Google的Android system webview,它自带于手机rom中,所有依赖系统webview的应用都调用这个webview。在安卓系统4.4以前,安卓手机自带webview的内核是Android webkit 浏览器内核,很多HTML5标准语法都不支持,比如indexeddb、webgl等,canvas性能也非常差。从安卓系统4.4起,webview内核变成了chromium内核,内核版本是chr

2020-12-09 11:04:04 3885

原创 生于忧患而死于安乐也

开篇楚王虽雄,难免乌江自刎。汉王虽弱,却有万里之志。满腹经纶,白发不第。才疏学浅,少年登科。有先贫而后富,有先富而后贫。蛟龙未遇,潜身与鱼虾之间。君子失时,拱手与小人之下。自省一直以来都是一个很矛盾的人,可以因为一句话奋发图强,也可以因为一件话颓废行乐。毕业后,一直努力培养自己的行事风格和为人处世,但就像《亮剑》里赵刚说的:“老李,我的这种性格是有缺陷的,你无法想象一支由乖孩子带领的军队,如何与野狼一般的对手抵抗。我可以下意识的去调整,但它却始终都在。”!我的情绪有一个很奇怪的现象,就

2020-11-10 15:23:03 575

原创 cocoscreator网页小游戏iphonex/xr等异面屏手机播放动画闪烁问题解决

背景往app产品内嵌入一款H5小游戏,ios手机型号iphonexr、cocoscreator版本v2.4.2。问题描述小游戏,在播放animation动画的时候,整个游戏界面闪烁。在公司iphonexr手机上必现,其他不带安全区的ios手机和安卓手机上则不会出现。安全区问题解决方案!解决方案经过一番思考,我猜测会不会是因为我在creator中制作Animation动画的帧率和游戏设置的整体帧率不一致导致的?有了这个猜测,我决定试一试,因为,游戏动画帧率,我这边使用的是默认60,而游戏这边,为了适

2020-11-10 11:26:59 1129

原创 自己眼中的女朋友VS家长眼中的女朋友

转眼间国庆8天小假期已经过完,去了张家界国家森林公园、天门山、凤凰古城、苗家寨,也带女朋友去广州见了家里的老父亲。网上都说去过凤凰的情侣都分手了,而我也遭遇到了家里些许的反对。说真的,实在不能理解老一辈人,对于后代身高的这种执念,现在又不是上个世纪末农耕时代,家里的成员需要从事农业劳动,身高体壮的有利于干农活。挂完我爸的电话后,思考再三跟女朋友qq上聊了两句,委婉的表达了我爸的看法,女朋友回复,让我自己解决。第一眼看到聊天框里的这段文字时,说实话,心里凉了一下,因为我来找她沟通交流的初衷是:一起面对这个问

2020-10-20 17:50:36 1391 2

原创 一个程序员的无聊感慨杂谈

前言时光荏苒,白驹过隙。从今年四月底,因疫情影响前公司拖欠薪资被迫离职,来到现在的公司已经小半年了。个人工作能力方面也有了新的提升和感悟,但由于近期公司项目对于H5游戏这方面的需求延期,自己每天的工作内容基本就是等需求、优化游戏框架、修复和优化产品经理反馈的问题、看引擎文档。就像论坛里说的:‘对程序员来说,最痛苦的不是加班赶需求;而是每天无所事事,枯坐一整天才是最难熬的’!而我自己,已然处于这个状态,虽然每天都在提醒自己,安逸的工作就像温水煮青蛙,要时刻警醒,尽可能的给自己安排每天要自学的东西,但技术文

2020-09-27 17:22:28 1201 2

原创 CocosCreator H5小游戏屏幕适配解决方案

基础概念1 物理分辨率物理分辨率简单理解就是硬件所支持的分辨率,以像素(px)为单位,所以我们称这个硬件上的每一个像素点为物理像素,也叫设备像素。将屏幕实际存在的像素以行数 × 列数这样的数学表达方式体现出来,就是物理分辨率。比如 iPhone8 的物理分辨率是1334 × 750 。而我们进行屏幕适配时,表达方式会有所不同,会以屏幕宽的像素数量 × 屏幕高的像素数量这样来体现。例如 iPhone8在默认的竖屏状态下,物理分辨率表达为750 × 1334。横屏状态下,物理分辨率表达为1334 × 750

2020-09-17 17:20:31 4218

原创 OpenGL、OpenGL ES、Canvas、WebGL概念梳理

如何学习OpenGL、Canvas、WebGL当你开始思考你应该如何学习OpenGL、Canvas、WebGL的时候,相信你至少对相关的关键词了解过了,还不太清楚OpenGL、Canvas、WebGL是什么,个人建议是不要做过多思考,先看看相关的具体技术教程、资源文献、论坛帖子,随着时间的推移你自然会明白OpenGL、Canvas、WebGL等关键词指什么。...

2020-09-16 14:44:28 2051

原创 数据结构学习笔记003什么是空间复杂度

自述首先,该篇文章不会长篇大段的去解释书本上关于空间复杂度的定义和描述字眼。而是,给你一段程序,自己去体悟空间复杂度的核心含义与思想。空间复杂度问题:求1+2+3+…+n的和!c语言代码片段1:#include<iostream>using namespace std;main(){ int n, i; long long sum = 0; cin>>n; for(i =1; i <= n; i++){ sum += i; } cout<&

2020-08-13 17:30:46 857

原创 数据结构学习笔记002什么是时间复杂度

基本概念时间复杂度:计算机解决问题的时间,随着问题规模的扩大,运行时间上的变化规律(或者说:时间是怎么变化)。一般情况下,时间复杂度都是指算法运行时间的最坏情况。补充时间复杂度一般用大写的O来表示,后面用小括号包裹时间变化规律。比如:1、访问数组某个位置的值,其时间复杂度为O(1)。解析:因为,数组可以通过下标直接定位到数据原素,无论数值的长度是多少(即:问题规模的扩大),均可以通过下标直接访问得到。所以,其时间复杂度为:O(1),呈固定的常数变化。2、访问链表某个位置的值,其时间复杂度为O(n

2020-08-13 11:26:16 937

原创 cocoscreator按钮长按功能实现

背景产品需要游戏的开始按钮,单击:游戏开始;长按:显示托管场次面板。引擎:cocoscretor v2.1.2 语言:JavaScript实现cc.Class({ extends: cc.Component, properties: { btnStart: cc.Button, //开始按钮 }, // LIFE-CYCLE CALLBACKS: onLoad () { //声明触摸时间变量

2020-08-07 14:59:09 4152 4

原创 cocoscreator v2.1.2版本低版本安卓系统(Android6.x)声音播放问题解决

背景机型Android6.1.3、cocoscreator 版本 v2.1.2报错信息截图:检测即解决步骤1、项目代码全局搜索 setTargetAtTime 和 AudioParam这两个变量或函数,未发现。怀疑可能是引擎层面的问题。2、关键词 AudioParam 怀疑是引擎的声音模块报错3、关闭游戏声音,发现游戏能正常运行。所以,基本确定是声音引起的报错。4、在cocoscreator右上方,点击“编辑器目录”按钮,打开引擎文件夹。截图如下:5、我这里是用vscode打开的engin

2020-07-22 17:18:43 1299

原创 JS ES6中export和import详解

声明:该篇文章仿写清园 沉没的Atlantis的 JS ES6中export和import详解****,此处仅供学习使用,因原文作者写的实在是比较完善,个人方面没有任何补充插入点,故照搬至此。Export模块是独立的文件,该文件内部的所有的变量外部都无法获取。如果希望获取某个变量,必须通过export输出,// profile.jsexport var firstName = 'Michael';export var lastName = 'Jackson';export var year =

2020-07-22 10:19:53 1361

原创 ES6新特性常用汇总

概括ES6新特性总的来说,其实急速为了让程序更方便的去书写代码和逻辑,说的高大上点就是:语法糖。这篇文章,只总结了我个人认为在写代码时,比较喜欢常用到的一些新特性。ES6新特性常用汇总Array数组方面新特性1、forEach 数组遍历let array = ['a', 'b', 'c'];array.forEach(function(item, index){ console.log('值:', item, '下标', index);});/*运行结果值: 值: a 下标 0值

2020-07-02 10:09:46 1252

原创 如何设置H5小游戏网页icon图标

背景最近游戏开发进度有些超前了,预估未来三天之内不会有什么太忙的事情。于是看起了某多多,斥巨资5块8毛钱买的web前端开发教学视频。虽然自己是做H5游戏开发的,但是每次发布生成的入口文件中都会有.html、.css等游戏入口和样式文件。虽说随着工作时间的拉长,对于这两个文件的了解,可以说足以应付开发所需,但总觉得不够完善和系统化。于是有了这篇文章~网站图标什么是网站图标网站图标其实就是我们在浏览器打开某个网页后,导航栏title旁边所显示的小图片。比如你打开百度翻译页面:如何制作H5游戏网站图标

2020-06-29 14:31:05 2485

原创 JavaScript世界各地时间转换为北京时间

背景最近要开发一块海外运营的H5小游戏,在运营和产品的描述下:国外网络环境比较差,很多地区还都是3G,甚至2G网络,所以,客户端在拿到接口数据后,要校验一下用户的手机系统时间,判断用户当前处于游戏的哪个阶段来进行时间校验和动画播放时间调整(如果用户手机系统时间不准确,那么弹提示弹窗,让其联系客服。可能有人会说为甚不让服务器返回一个服务器当前时间的时间戳,具体为什么,可以想象一下淘宝的秒杀活动,用户所在地区各种各样,接口数据在传输的过程中,会因网络问题而出现不同程度的时间损耗)。备注:服务器接口返回数据有一

2020-06-15 16:07:45 2616

原创 H5小游戏iphoneX(安全区、刘海)屏幕适配

解决方法1、方法及其简单,只需在打包后的index.html文件的头部viewport行加入viewport-fit=cover即可。截图展示如下:可复制粘贴代码如下:<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0,user-scalable=no,viewport-fit=cover">至此,问题解决完毕。...

2020-05-28 17:54:22 3538

原创 cocos2d-js游戏背景(canvas)透明

需求背景现需要开发一款H5小游戏,植入到直播类app里面,让用户看直播的同时可以玩H5小游戏。游戏场景只暂用手机屏幕的半个屏(下半屏)。引擎版本cocoscreator v2.1.2实现步骤1、首先设置主场景摄像机用于清屏的背景色为透明,在主场景所挂载脚本的onLoad()方法中加入该段代码:onLoad () { cc.Camera.main.backgroundColor = new cc.Color(0, 0, 0, 0);}2、发布web包成功后,修改main.js和style-mo

2020-05-11 14:20:13 2483

原创 creator vscode智能提示失败 解决方法

背景最近刚换工作,电脑开发环境都要重新安装配置一番,在建立好新项目后,很自然流畅的把creator顶部导航栏里面的开发者->VS Code工作流->****里面的所有选项快速点了一遍。自认为很帅,结果悲催的发现打开vscode编辑器后,智能提示功能没了、没办法通过ctrl跳转引擎开发文档查看API接口。经过论坛一顿搜,总结如下:失败原因首先,我是用js语言开发,但却在creato...

2020-04-30 10:08:19 2536 1

原创 H5与APP原生交互!!!

H5与APP交互!申明:该篇文件并不是本人原创,为掘金上的一位前辈总结,我只是为了以后阅读和复习该模块的知识点方便,原样拷贝过来的。文章原链接为:[H5与APP交互!](https://juejin.im/post/5ac49ea26fb9a028b5481afe)目前,原生的 APP 主要分为 IOS 和 Android 两大类。 IOS 没什么好说的,美国苹果公司独家打造的操作系统,用...

2020-04-28 11:56:09 2659

原创 JavaScript字符串和数组对象常用函数方法

JS 字符串和数组对象常用函数方法字符串1、toUpperCase()把一个字符串全部变为大写;let s = 'Hello';let upper = s.toUpperCase();//返回一个新的字符串'HELLO',原字符串不变。console.log(s, upper);//Hello HELLO2、toLowerCase()把一个字符串全部变为小写;let s = 'He...

2020-04-24 17:08:44 1733

原创 node.js模块化(module.exports/exports/require)

export、export default、import作用和区别首先export、export default作用均为导出文件中的某一变量、函数、对象等,导出之后你可以在任意需要的地方在文件的头部通过import命令进行导入,进而对其导出的方法变量进行使用,以达到代码封装、复用的功能。区别点:1、导出时:使用export命令导出的格式为 export {test1, test2},可以导出...

2020-04-22 14:12:15 1668

原创 数据结构学习笔记001什么是数据结构

什么是数据结构首先,我们先简单化这个名称,数据我们都能知道,那什么是“结构”?找到一个与之可以对等的名词来代替并帮助我们理解它,该名词为:“关系”,以后碰到“数据结构”这四个字,你就可以直接拿“数据关系”来代替理解它。也许会有人会问,为什么选择“关系”这个词?答案是:咳咳,这个词其实不是我选的,是“大话数据结构”这本书的作者为了帮助读者更加容易的接受数据结构这门课程而选择出来的,它的选择原因是:...

2020-04-20 16:05:19 1617

原创 JavaScript闭包解析

背景说到JS闭包这个问题,想必面试过前端开发的同学多少都会遇到过。但就个人经历来讲,工作这么久还没有在公司项目的代码中看到谁写过闭包,或去写过闭包,当然我也不太想去写,一方面是没遇到这方面的需要,一方面是我怕给自己挖坑。但是当你了解过闭包后,就会明白面试官为什么会问你这个问题了,其实闭包还是包含很多关于js的底层东西,最起码对你以后奇怪代码问题的查找还是有一定的启发作用的。毕竟我们程序员每天的事...

2020-03-18 14:03:59 1619

原创 cocoscreator截屏分享

cocoscreator截屏分享背景公司是做电商的,新年将近,运营部预模仿某宝集福卡模式出一款集福卡小游戏,由H5游戏开发人员(也就是本人)完成并提供游戏入口链接交由运营人员配置。其中不免会涉及到分享功能,链接分享和海报分享。由于公司之前没有往app中内嵌过H5类型小游戏,原生这边留下的图片分享是针对于H5网页的,我这边在接入截屏分享的时候则出现了白屏的情况,界面上的图像和文字资源没有截取...

2020-01-16 16:17:15 2860

空空如也

空空如也

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

TA关注的人

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