- 博客(56)
- 收藏
- 关注
原创 记录一些打包遇到的问题
最近在研究安卓的打包,在用androidstudio打包过程中遇到 NDK_PROJECT_PATH=null 的问题,打release没有任何问题,但是打debug包会报错,查询了很多资料,最终发现是路径太深的问题。。。真的是非常坑,对于刚接触打包的小白来说,谁会想到路径太深会影响到打包。。。。打包时的路径不要使用默认的.\build,把发布路径设为某盘的根目录下还有打包完之后,开启调试...
2019-06-18 20:29:25 219
转载 lua中io的操作
【IT168 技术文档】I/O库提供两种不同的方式进行文件处理 1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述 io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr 2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件
2016-10-31 11:18:39 418
原创 火焰效果
//ParticleFire是火焰粒子系统类this.flameParticle = new cc.ParticleFire();//设置粒子系统的纹理,res.flame保存的火粒子系统的纹理图片this.flameParticle.texture = cc.textureCache.addImage(res.flame)this.flameParticle.setPosition(
2016-09-28 17:51:44 553
转载 cocos2d -x 打包设置横屏和竖屏
找到项目中的AndroidManifest.xml文件并打开screenOrientation="landscape" 为横屏,screenOrientation="portrait"为竖屏,
2016-09-18 19:51:11 2629
转载 js的坐标转换
convertToNodeSpace(worldPoint);//将世界坐标转换为模型坐标。convertToNodeSpaceAR(worldPoint);//将世界坐标转换为模型坐标。AR表示相对于锚点。convertTouchToNodeSpace(touch);//将世界坐标中触摸点转换为模型坐标。convertTouchToNodeSpaceAR(touch);/
2016-09-07 20:42:43 1118
原创 cocos Creator拖动效果
this.npc.on(cc.Node.EventType.TOUCH_MOVE, function (event) { var x = event.getDeltaX() //获取鼠标距离上一次事件移动的 X轴距离。 var y = event.getDeltaY() //获取鼠标距离上一次事件移动的 Y轴距离。 this.x+=x this
2016-09-04 21:37:37 6471
原创 如何裁剪一张图片
var a = 5var b = 5var size = cc.director.getWinSize()var widthSp =size.width / a //获得一块儿宽var heightSp =size.height / b //获得一块高cc.log(widthSp,heightSp)for (var i = 0; i
2016-09-04 15:13:58 495
转载 c++中的
#include using namespace std;void swap(int &a,int &b) //引用传递{ int temp; temp =a; a = b; b = temp; }void swap(int *a,int *b) //地址传递{ int temp; temp = *a; *a = *b; *b =te
2016-09-03 23:18:18 218
原创 c++中struct和class的区别
从语法上讲,class和struct做类型定义时只有两点区别:1.默认继承权限,如果不明确指定,来自calss的继承按照private继承处理,来自struct的继承按照public继承处理2.成员的默认访问权限。class的成员默认是prvate权限,struct默认是public权限。除了这两点,class和struct基本就是一个东西,语法上没有任何其他区别
2016-09-03 23:06:18 197
转载 判断一段代码是由c编译还是c++编译?
用判断宏的方式。大多数编译器在编译时如果是c++的程序都会定义一个叫_cplusplus的宏。因此可以用这段代码来判断若包含的头文件是stdio.h则用这段代码#ifdef __cplusplus printf("c++%c");#else printf("c%c");#endif若包含的是头文件iostream.h,则用这段
2016-09-01 22:15:12 448
转载 cocos优化方法
动态设置帧率: UI界面帧率设置最高30帧,战斗等特效和动画比较多的界面帧率设置最高60帧减少特效粒子数和帧数: 把一些特效和帧动画改成骨骼动画,减少帧数量。 跟美术和策划沟通,在效果可接受的情况下减少粒子效果使用texturepacker拼图: 用texturepacker把一些小散图打包到一张大图,减少纹理IO和draw call
2016-09-01 21:27:28 537
转载 Cocos2d-x的设计模式
单例模式: 单例模式的定义是产生一个类的唯一实例,但js本身就是一种“无类”语言,很多讲就是设计模式的文章把{}当成一个单例来使用也勉强说的通,因为js生成对象的方式有很多种。简单工厂模式: 简单工厂模式是由一个方法来决定到底要创建哪个类的实例,而这些实例经常都拥有相同的接口,这种模式主要用于在所实例化的类型在编译期并不能确定,而是在执行期决定的情况观察者模式:
2016-09-01 21:14:25 342
转载 Math的使用
1.Math.PI 记录的圆周率2.Math.E记录e的常量3.Math.abs 求绝对值4.Math.sin 正弦函数 Math.asin 反正弦函数5.Math.cos 余弦函数 Math.acos 反余弦函数6.Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数7.Math.toDegrees 弧度转化为角度
2016-08-31 22:53:19 352
原创 数组中添加对象
var arr = [] for(var i = 1;i arr[i] = {id:i} //给数组中的每个下边都赋一个id对象 } text(arr) function text(arr){ for(var index in arr){arr[index].id +=1000 //是数组中的每个id对象加上10
2016-08-31 22:47:19 5771 1
原创 随手笔记
var str = "两个黄鹂鸣翠柳,一行白鹭上青天" console.log(str) var arr = [] for(var i = 0;i arr.push(str.charCodeAt(i)) //将字符串的每个元素转换成Ascii码存进一个数组,charCodeAt()方法可以将一个字符转换成一个Ascii码
2016-08-31 21:57:16 295
原创 整理的一些笔记
active = false:使节点的属性失效addChild:使显示对象添加到显示列表上var a = arr.shift():取出arr数组第一个下标赋值给 a //取出相当于才剪,用完shift和pop以后,arr数组就已经被改变var b = arr.pop():取出arr数组最后一个下标赋值给acc.director.popScene():返回上一个场景
2016-08-30 20:04:54 272
原创 使用setInterval()方法输出一个计时器
var a = 0;b = 0; var time = false var td var date = new Date() //创建一个时间对象 var startTime = date.getTime()
2016-08-30 19:53:23 946
原创 将一个随机的三位数转换成汉字形式输出
var num = (parseInt(100+Math.random()*899)) //获得一个随机的三位数 var a = num.toString() //将随机数转换成字符串赋值给a console.log(a.split(""))
2016-08-30 19:03:34 897
转载 html是什么
HTML是用来制作网页的标记语言HTML是Hypertext Markup Language的英文缩写, 即超文本标记语言HTML语言是一种标记语言,不需要编译,直接由浏 HTML语言是一种标记语言,不需要编译,直接由浏览器执行HTML文件是一个文本文件,包含了一些HTML元素, HTML文件是一个文本文件,包含了一些HTML元素,标签等.HTM
2016-08-29 20:37:51 412
原创 js的数据类型
js的数据类型主要分基本类型和复合类型基本类型有:Number //数值型 boolean //布尔型toString //字符串型复合类型就是对象类型和数组类型var a = 99 var b = a b = 77 console.log(a,b) //输出结果为99,77 给基本类型的值赋给一个变量,然后改变一个变量的值
2016-08-29 20:10:48 336
原创 js中setInterval setTimeout的用法
setInterval () 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval () 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由setInterval () 返回的 ID 值可用作 clearInterval() 方法的参数。clearInterval()方法可以停止setInterval()方法,它括号里的参数必
2016-08-29 19:46:57 433
原创 对于js数组的一些整理
js数组是无类型的,数组的元素可以是任意类型,并且同一个数组也可以存在不同类型的元素,甚至可以是对象和其他数组var arr = [] //定义一个数组,js数组中,根据数组长度可以取到数组中的任一元素,并可以直接给它赋值arr.push(123) //将123这个新元素添加到数组结尾,并返回数组新长度arr.shift() //移除数组最前一个元素并返回该元素值,数组中的
2016-08-28 22:07:53 441
转载 几种内存的分配方式
静态存储区 栈 堆 的内存分配1,从静态存储区域分配内存。程序编译的时候内存已经分配好了,并且在程序的整个运行期间都存在,例如全局变量。2,在栈上创建。在执行函数时,函数内局部变量的存储单元可以在栈上创建,函数结束时这些存储单元自动被释放。处理器的指定集中有关于栈内存的分配运算,因此效率比较高,但是分配的内存容量有限。3,在堆上分配内存,亦称动态内存分配,程序在运行的时候用mall
2016-08-28 21:36:23 451
转载 引用于指针的区别
1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;上面定义了一个整形变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址。而下面
2016-08-27 21:54:03 534
原创 面向对象
面向对象的方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法他的只要特征分三大快:封装、继承与多态 封装:封装是一种信息隐蔽技术,体现于类的说明,使数据更安全,是对象的重要特征,将一个函数封装成一个整体,使用户只能看到它的外部属性,比如我们玩游戏,玩家只需要知道这个游戏怎么玩,却不需要知道这个游戏内部的程序是怎
2016-08-27 21:18:22 378
转载 构造函数和析构函数
构造函数:在类中,函数名和类名相同的函数称为构造函数。它的作用是在建立一个对象时,作某些初始化的工作(例如对数据赋予初值)。C++允许同名函数,也就允许在一个类中有多个构造函数。如果一个都没有,编译器将为该类产生一个默认的构造函数。构造函数上惟一的语法限制是它不能指定返回类型,甚至void 也不行。不带参数的构造函数:一般形式为 类名 对象名(){函数体}带参数的构造函数:不带参数的构造函
2016-08-26 22:52:06 403
转载 链表的概念
链表的概念: 链表是结构体最重要的应用,它是一种非固定长度的数据结构,是一种动态存储技术,它能够根据数据的结构特点和数量使用内存,尤其适用于数据个数可变的数据存储。 链表有个头指针变量head,它存放一个地址。该地址指向一个元素,链表中每一个元素称为节点,每个节点都应包括两个部分:一为用户需要的实际数据,二为下一个节点的地址。head指向第一个元素;第一个元素指向第二个元素。。。。。直
2016-08-26 22:43:47 528
转载 c++虚构函数
C++语言为我们提供了一种语法结构,通过它可以指明一个虚拟函数只是提供了一个可被子类型改写的接口。但是,它本身并不能通过虚拟机制被调用,这就是纯虚拟函数(purevirtual function)。纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”virtual void funtion1(
2016-08-25 19:27:48 3321 1
转载 c++派生类的构造函数和析构函数
1、派生类中由基类继承而来的成员的初始化工作还是由基类的构造函数完成,然后派生类中新增的成员在派生类的构造函数中初始化。 2、派生类构造函数的语法:派生类名::派生类名(参数总表):基类名1(参数表1),基类名(参数名2)....基类名n(参数名n),内嵌子对象1(参数表1),内嵌子对象2(参数表2)....内嵌子对象n(参数表n){ 派生类新增成员的
2016-08-25 19:06:44 347
转载 c++继承与派生
一、基本概念1、类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。 2、派生类的声明:class 派生类名:继承方式 基类名1, 继承方式 基类名2,...,继承方式 基类名n{ 派生类成员声明;}; 3、一个派生类可以同时有多个基类,
2016-08-25 19:01:50 328
原创 几个问题
问题1:删除属性delete运算符可以删除对象的属性delete book.author //这样可以删除book中author属性,delete也可以用于删除数组中的某个属性。delete运算符只能删除自有属性,不能删除继承属性问题2:闭包?闭包能够读取到其他函数内的局部变量。函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”问
2016-08-24 22:27:12 254
原创 阅读别人代码的心得
当我们拿到一段陌生的代码时候,首先我们得先确定这段代码能不能不能跑起来,如果有错,可以根据编译器提示报错的点来进行修改,当调试到没有错误的时候,代码我们也应该了解的差不多了,这时我们就需要学会去理解原作者写这段代码的用意,将每一段代码的意思理解透,然后再将代码中写的好的思路和好的代码片段记录下来,自己再去将这些知识点融会贯通,把它们变成自己的。总的来说,理解别人的代码就是为了丰富自己的知识量,
2016-08-24 21:03:03 423
原创 js this 的用法
this是javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,随着函数使用的场合不同,this的值也会发生改变,那就是this指的是调用函数的那个对象。函数作为某个对象的调用,一般我们定义了一个全局变量,想要在其他函数中调用它时,都需要加上this来指向这个全局变量this也可以作为构造函数的调用,所谓构造函数,就是通过这个函数生成一个新对象
2016-08-24 20:46:09 244
原创 js闭包
要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量,正常情况下函数外部是不可以取到函数里面的局部变量的,如果想要取到就需要一些技巧: test:function(){ var mm = 1 function tt()
2016-08-24 20:28:48 207
原创 js TOUCH_ONE_BY_ONE
var listener = cc.EventListener.create({ //创建侦听事件 event: cc.EventListener.TOUCH_ONE_BY_ONE, swallowTouches: true, onTouchBegan: function (touch, event) { //开始点击
2016-08-23 19:36:50 1330
原创 自定义事件的理解
cc.eventManager.dispatchCustomEvent("Throw",this) //抛出一个自定义事件,Throw用于接收方辨别接收的是哪个事件this.listener = cc.eventManager.addCustomListener("Throw",this._chek.bind(this)) //接收自定义事件,this._chek是一个方法,用
2016-08-23 19:15:06 971
原创 c++构造的理解
#includeint main{ int a,b,c,p,*p1,*p2,*p3;printf("输入3位数整数");#include#includeusing namespace std;class Student{public: //公开数据void display(){cout cout cout
2016-08-23 18:47:40 223
转载 js的一些优化技巧
避免全局查找在一个函数中会用到全局对象存储为局部变量来减少全局查找,因为访问局部变量的速度要比访问全局变量的速度更快些定时器 如果针对的是不断运行的代码,不应该使用setTimeout,而应该是用setInterval,因为setTimeout每一次都会初始化一个定时器,而setInterval只会在开始的时候初始化一个定时器字符串连接
2016-08-22 22:48:07 226
转载 c语言地址指针的基本概念
在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。
2016-08-22 22:17:25 696
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人