- 博客(57)
- 收藏
- 关注
原创 【通用】 使用 try catch 处理异常
// 以JS代码为例try { //代码区 throw new Error("Whoops!"); } catch (evt) { //异常处理 console.error(evt); } finally { //一定执行,不会因为异常的出现会终止 console.debug("一定执行");}
2017-04-11 11:18:12
553
原创 【JavaScript】 当this遇上return
参考地址当this碰到return时,会出现一些小问题。function fn() { this.user = '啊啊'; return {}; }var a = new fn; console.log(a.user); //undefinedfunction fn() { this.user = '啊啊'; return funct
2017-01-03 15:50:21
729
原创 【JavaScript】 判断空对象
第一种jQuery 中的 isEmptyObject() 实现方法function isEmptyObject(e) { var t; for (t in e) return !1; return !0 }console.log(isEmptyObject()); //true console.log(isE
2017-01-03 15:45:35
434
原创 【cpp】 函数如何返回数组
在C++里,数组不是一种类型,所以不能被直接返回。const int N = 10;void main (){ int *b; int* getArr(int); b = getArr(N); for (int i = 0; i < N; i++) { std::cout << b[i] << " "; } getchar();}i
2016-12-28 11:54:30
1866
原创 【设计模式】 基本原则
开闭原则一个实体,应对其修改关闭,对扩展开放。 面对需求时,应该是增加新代码,而不是去修改之前的代码。里氏代换原则子类能够扩展父类的功能,但不能修改父类原有的功能。(子类能够当做父类使用)依赖倒转原则高层不依赖底层,抽象不依赖细节。(面对接口编程)接口隔离原则使用多个隔离的接口,比使用单个接口要好,为依赖接口的类提供定制(特殊)服务。合成复用原则尽量使用合成/聚合的方式,而不是使用继承。迪米特法则
2016-12-26 10:46:39
447
原创 【JavaScript】常用的函数
var format_seconds = function (value){ var arr = []; if (parseInt((value / 60 / 60) + "")) { arr.push(parseInt((value / 60 / 60) + "")); } arr.push(parseInt((value / 60 % 60) +
2016-12-20 20:56:15
348
原创 【JavaScript】 null >= 0
当出现用 null 做判断时,会出现 (null >= 0) == true,(null >0 || null == 0)== false 的情况。null >=0 的时候,强转为数字类型。在进行 null >= 0 比较时,它是通过比较 null < 0 得到的答案,如果 a = b 为 false,如果 a = b 为true,即 0 < 0 为 false ,也就是 null < 0 为 fa
2016-12-20 20:05:29
677
转载 Protobuf 用法
参考: http://blog.youkuaiyun.com/guyue35/article/details/51181845 以及 http://mikewang.blog.51cto.com/3826268/1432136什么是Protobuf?官方给出的是: a language-neutral, platform-neutral, extensible way of serializing
2016-12-01 21:38:42
418
原创 【JavaScript】 Object.defineProperty
Object.defineProperty:直接在一个对象上定义一个新的属性,或修改一个已经存在的属性。这个方法会返回该对象。语法:Object.defineProperty(obj, prop, descriptor)Object obj 目标对象String prop 需要定义的属性Object descriptor 该属性拥有的特性,可设置的值有:value 属性的值,默认为 undef
2016-12-01 21:27:00
306
原创 【JavaScript】 判断横竖屏
function hsp() { if (window.orientation == 180 || window.orientation == 0) { console.log("横屏"); } if (window.orientation == 90 || window.orientation
2016-11-28 17:20:56
346
原创 【egret】 龙骨
创建龙骨将龙骨导出后,会生成 龙骨json、纹理集。 代码: - 创建龙骨工厂 var dragonbonesData = RES.getRes( "xinghuo_ske_json" ); var textureData1 = RES.getRes( "xinghuo_tex_0_json" ); var texture1 = RES
2016-11-28 17:11:10
2510
转载 【css】路径data:image/png;base64的用法详解
原帖点这里网页上有些图片的src或css背景图片的url后面跟了一大串字符
2016-11-03 20:13:40
56672
原创 【egret】 接口地址判断技巧
通常在项目中的测试地址和正式地址并不一样,在正式发布时需要把接口地址改成正式地址,如果接口很多的话就会非常麻烦。通过 document.domain 判断地址。 function getUrl (){ var url = document.domain; if ( url.indexOf("test") < -1) return "正式地址" e
2016-11-02 19:23:52
1021
原创 【egret】 IOS加载音频文件
egret 在 IOS 系统加载音频文件,会出现无法加载,从而卡在加载界面的情况。解决方法: 将声音资源转换成 44100Hz,96kbps。 如果有问题再转一次,转到能用为止(不要吐槽,我转了三次就能用了。)
2016-11-02 19:16:09
2687
原创 【egret】 输入文本的使用
记下来,怕之后自己忘记~官方文档创建输入文本private text: egret.TextField;private init (){ this.text: egret.TextField = this.createShuRuText([100,100]);}private createShuRuText( point: any[] ): egret.TextField {
2016-10-28 19:57:25
4760
原创 【egret】 egret游戏中添加“长按识别二维码”
使用白鹭制作微信H5时,经常需要添加二维码。而直接使用白鹭添加的图片,不能够长按识别二维码。 egret 游戏内部不能直接识别内部图片,即使你是一个 Bitmap。因为 egret 是一个整体,里面的东西外部不可见。而微信长按识别二维码只能识别页面中的图片,那么只能够在 html 里去添加图片。准备好单个二维码图片。在 index.html 里的 body 标签中 添加img标签,并设置好属性
2016-10-28 19:46:40
3487
原创 【cocos2d-x】运行 setup.py 闪退的解决方案
第一种情况:文件路径中存在中文路径。解决方法:修改路径即可第二种情况:之前安装过其他版本的 python ,电脑上存在着残留的文件。解决方法:重新下载之前的版本,进行修复。第三种情况:以上都不是(迷之原因) 注:本人就是这种,目前没找出什么原因。解决方法: 进入cocos2d-x的根目录,按住Shift + 鼠标右键,点击 “在此处打开命令窗口”输入 dir看到该文件夹下有一个 setup.py,
2016-10-19 17:28:04
5757
原创 【cocos2d-x】cocos2d-x 3.2 在 NDK10下编译出错的解决方法
最近使用cocos2d-x 3.2 在NDK10 版本下打包APK,出现了一个特别奇怪的错误。1. /Users/minggo/SourceCode/cocos2d-x/build/../cocos/./3d/CCBundleReader.cpp:94:23: error: return type of out-of-line definition of 'cocos2d::Bundl
2016-10-19 17:10:05
880
原创 【cocos2d-x + lua】生命周期函数
场景(Scene)以及所有节点(Node)的生命周期事件如下:enter:进入场景时候触发。enterTransitionFinish:进入场景而且过渡动画结束时候触发。exit:退出场景时候触发 。exitTransitionDidStart:退出场景而且开始过渡动画时候触发。cleanup:场景对象被清除时候触发。注意: GameScene场景中的(Scene)继承于节点(Node)
2016-10-18 19:14:46
813
原创 【Lua】语法笔记#2
控制语句if 语句if a < 0 then a = 0 end;等价于if (a < 0) {a = 0};if else 语句if a < b then return a else return b end;等价于if (a < b) return else return b;endelse if 语句if op == "+" then r = a + belse
2016-10-18 18:49:38
317
原创 【Lua】语法笔记#1
数据类型Lua 是一种动态类型的语言。在语言中没有类型定义的语法,每个值都”携带“了它自身的类型信息。Lua中有 8 种基础类型: nil(空)、boolean(布尔)、number(数字)、string(字符串)、userdata(自定义类型)、function(函数)、thread(线程)和table(表)。Lua 中可以通过 type() 来得到 值 的类型。print(type("Hell
2016-10-17 19:31:36
335
原创 对象池
在系统设计中,经常会使用 池 的概念。比如数据库连接池,socket连接池,线程池,组件队列。 池 可以节省对象重复创建和初始化所耗费 的时间,可以简化对象获取和使用的过程。池 的结构是通用的,就是不管他里面保存的是哪一种对象,他的工作方法都基本不变。无非是初始化一系列对象,然后提供一个获取可用对象,一个归还对象的接口。当我们频繁创建删除大量对象的时候,对象的创建删除所造成的开销就不容小觑了。为了提
2016-09-26 17:59:30
293
转载 【C#】 Console类
原文传送门!Console.Write 表示向控制台直接写入字符串,不进行换行,可继续接着前面的字符写入。 Console.WriteLine 表示向控制台写入字符串后换行。 Console.Read 表示从控制台读取字符串,不换行。 Console.ReadLine 表示从控制台读取字符串后进行换行。 Console.ReadKey 获取用户按下的下一个字符或功能键,按
2016-09-26 17:36:40
510
转载 【转】p2物理引擎在egret中的应用
原文地址- 效果:点击在线查看 ,中间一个静态地面,一个长方形物体会掉在上面中间位置前言:使用egret游戏引擎,配置好p2物理引擎(是个坑,详情查看官方手册模块化配置和第三方库的使用方法)搞起来:步骤大致有这四个,1、创建世界world,2、创建刚体body,3、给刚体创建形状shape,4、用egret把世界给渲染(图形化)出来。对p2不太熟悉的推荐先看看这篇文章p2入门手册1、创建世界
2016-09-20 17:09:30
4117
原创 【egret】Tween类
egret.Tween.get() ,激活一个对象,对其添加 Tween 动画egret.Tween.get(this)to() ,将指定对象的属性修改为指定值egret.Tween.get(this).to({ x: 0 , y : 0},1000,type)// 当前对象在1秒内 位移 到(0,0)点,并设置运动类型为typecall() ,执行回调函数egret.Tween.get(thi
2016-09-09 20:03:08
4298
原创 【egret】代码结构
在egret中,构造函数 constructor 在这个 test 类被实例化(new)时执行。class test extends egret.Sprite{ public constructor() { }}而在一些情况下,需要在初始化时对类的属性进行设定,有时会需要用到 // 当前类的舞台宽度 this.stage.stageWidth
2016-09-09 19:52:04
1969
原创 HTTP
客户端var xhr = new XMLHttpRequest();// 服务端链接var url = "http://127.0.0.1:8081/";xhr.onreadystatechange = function () { if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) {
2016-08-09 15:27:07
493
原创 面向对象和面向过程的区别
面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象 是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向对象: 狗.吃(屎) 面向过程: 吃.(狗,屎)例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、
2016-08-03 19:21:12
222
原创 Js 闭包和引用
闭包是 JavaScript 一个非常重要的特性,这意味着当前作用域总是能够访问外部作用域中的变量。 因为 函数 是 JavaScript 中唯一拥有自身作用域的结构,因此闭包的创建依赖于函数.
2016-08-02 16:19:37
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人