回顾学习资料
_大猪
这个作者很懒,什么都没留下…
展开
-
简单理解c语言——‘\0’ ,‘0’, “0” ,0之间的区别
看来基础还是很重要的,基础不扎实就难以学好c语言,就别说写出高质量的c语言代码了。今天,我就被这个问题折磨的不行了,哈哈,不过现在终于明白了‘\0’ ,‘0’, “0” 之间的区别了。困惑和快乐与你分享! 首先比较一下‘\0’和‘0’的区别。有一个共同点就是它们都是字符,在c语言中,字符是按其所对应的ASCII码来存储的,一个字符占一个字节。请翻开你的ASCII字符集表吧,一般在你的C转载 2017-10-09 11:31:36 · 687 阅读 · 0 评论 -
cocos2dx lua自定义lua-binding
一、环境系统 ios10.12.6编译、编辑环境xcode9.1cocos2dx版本3.13.1二、绑定lua-binding前的准备接下来的做法,只需要懂得cocos2dx的api就可以,不需要对lua有很深的了解;但是如果可以的话,应该把lua学习得比较透彻,至少了解lua栈的机制,这样对自己将要修改的东西才能更加明白透彻。三、绑定自己的lua-bindinglua原创 2017-12-09 15:40:58 · 3022 阅读 · 0 评论 -
cocos2dx js自定义js-binding
一、环境mac 10.12.2编译、编辑环境Xcode9.1CocosCreator版本1.5.1二、绑定js-binding前的准备本文和前文lua-binding有些不同,写这个绑定的例子前,我自己也没有学习过jsb的文档或者api,就直接把这个例子给做好了,之所以这么顺利,要归功于像前文一样借鉴其他js-binding的例子。所以不管对cocos2dx原代码了解多少,原创 2017-12-11 15:22:40 · 2654 阅读 · 1 评论 -
在Lua中继承Cocos2dx的C++类
文章转载自:http://blog.csdn.net/c201038795050/article/details/46974665--第一种方式: --继承 Circle = class("Circle", function() return cc.Node:create() end ) --初始化 fu转载 2017-12-15 14:43:19 · 396 阅读 · 0 评论 -
CocosCreator 怎么添加JSB绑定的C++类到场景中
文章转载自:用JSB绑定后在cocos-js中使用完全没问题,creator中也可以创建对象,问题是怎么将这样的node添加进场景,creator 的js部分的cc.Sprite等原来的继承node的节点类貌似都改成了组件,原来的create, addchild方法也都没了。最后,暴力解决了:this.node._sgNode.addCh转载 2017-12-11 17:39:46 · 3540 阅读 · 1 评论 -
cocos2dx事件addEventListenerWithSceneGraphPriority方法
在官方文档中,node对象有一个_eventDispatcher成员变量,所以继承node的对象也有这个变量。当我们需要去层等没有集成点击事件的节点监听点击事件时,需要这样,实例代码:listener->onTouchBegan = [=](Touch* touch, Event* event){ Vec2 locationInNode = this->convertTo原创 2017-11-25 11:59:07 · 7725 阅读 · 0 评论 -
lua table.remove的小细节
table.remove的api定义如下:table.remove(table [, pos])返回table数组部分位于pos位置的元素,其后的元素会被前移。pos参数可选,默认为table长度,即从最后一个元素删起。所以,根据api,下面的例子会引发一些bug:luat_Test2={123, 456, 789}print("~~~~~~~~~~~~~~~~~~~~~~~~~原创 2017-12-21 17:44:16 · 2253 阅读 · 0 评论 -
cocos2dx-js模块加载
cocos2dx-js中的project.json文件中,可以加载自己需要的模块,即"modules"里的值,可以加载的模块有"cocos2d","extension","external"。新建的cocos2dx-js项目默认加载了"cocos2d"模块。如果我们需要使用ccui中的控件时,就需要加载”extension“模块。如果再使用热更新等,需要加载"external"模块。原创 2017-11-25 10:41:33 · 989 阅读 · 0 评论 -
cocos2d-x响应机顶盒遥控器
文章转载自:http://blog.csdn.net/keshuiyun/article/details/9788533最近有个机顶盒项目,需要用到遥控器的方向键在游戏中控制方向。如果是一般Android设备、iOS设备或Win32平台,cocos2d-x提供了“CCAccelerometer”类,可用于游戏控制UI。但由于机顶盒在使用过程中是使用遥控器与玩家交互,而遥控器中缺转载 2017-11-25 17:11:06 · 661 阅读 · 2 评论 -
javascript setInterval和setTimeout的this问题
The "this" problem如果你通过setTimeout函数(或其他函数,或其他情况),调用的时候this的值可能并不能像你期待的那样。这种情况已经在Javascript reference里面详细的介绍过了。 说明 setTimeout()函数里执行的代码是与调用setTimeout函数的执行上下文分开的。正常的方法是为被调用的函数设置this的关键翻译 2017-12-05 16:22:03 · 415 阅读 · 0 评论 -
cocos2d-x 控制台输出日志
文章转载自:http://blog.csdn.net/zqiang_55/article/details/13506963在2dx中用CCLog输出日志,但是在vs的控制台中由于信息很多,很难发现。可以用下面方法,会重新启动一个黑色的控制台来输出日志修改main.c文件,如下:[cpp] view plain copy#i转载 2017-11-20 16:08:33 · 1809 阅读 · 0 评论 -
cocos2dx版本热更新梳理
文章转载自:http://blog.csdn.net/itol925/article/details/45968039cocos热更新实现了项目资源和脚本文件的动态更新。当工程有新的改动时,用户无需重新下载完整的安装包,而是通过对比本地与最新的版本信息,仅下载有改动的文件到本地,完成版本的更新。 工程的资源和脚本文件存放分2个地方,一个是安装目录,一个是数据目录,当ap转载 2017-11-20 14:18:20 · 5887 阅读 · 4 评论 -
Cocos2dx的CC_CALLBACK
文章转载自:http://www.cnblogs.com/skysand/p/4247823.html#define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__VA_ARGS__)#define CC_CALLBACK_1(__selector__,__tar转载 2017-11-20 11:00:44 · 679 阅读 · 0 评论 -
JS实现继承的几种方式
文章转载自:http://www.cnblogs.com/humin/p/4556820.html 前言JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 th...转载 2017-09-30 15:20:42 · 744 阅读 · 0 评论 -
关于缓存服务器的理解
在上一篇文章浏览器缓存机制中,有提到缓存代码服务器,对于这方面并没有了解到,所以想要学习一下。于是百度了一翻,发现只有百度百科里才有一点讲解,但是学术性的文字太多,并不好理解,但是知道两个比较重要的概念:正向代理和反向代理。于是又学习正向代理和反向代理的概念。以下有一篇文章http://blog.csdn.net/m13666368773/article/details/8060481原创 2017-09-29 16:37:38 · 646 阅读 · 0 评论 -
C、C++内存对齐
文章转载自:http://www.jellythink.com/archives/413#include <iostream>using namespace std;struct Test_A{ char a; char b; int c;};struct Test_B{ char a; int c; c...转载 2017-10-09 14:31:54 · 236 阅读 · 0 评论 -
#include“stdafx.h”详解
文章转载自:http://blog.csdn.net/qingkong8832/article/details/66951231,用VS2008新建项目,选择【Win32】-【Win32控制台应用程序】-输入名称:Test-【确定】 再选【下一步】-默认情况下,我们都是在【空项目】前打上对勾,建立一个纯的C或C++程序。我们这里选择默认,即【预编译头】前打上对勾,之后转载 2017-10-12 10:51:42 · 15779 阅读 · 0 评论 -
c++中静态成员变量要在类外部再定义或初始化的原因
c++中静态成员变量要在类外部再定义,否则产生link2001错误.class testClass{ public: static int m_i;};// 类外部定义,若不写会产生// error LNK2001: unresolved external symbol "public: static int testClass::m_i" (?m_i@testClass...原创 2017-10-12 11:24:14 · 1721 阅读 · 0 评论 -
sprintf函数的简要说明
关于sprintf函数的描述是:sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。头文件是stdio.h。函数原型:int sprintf( char *buffer, const char *format, [ argu原创 2017-10-12 12:00:10 · 614 阅读 · 0 评论 -
c 中内存拷贝函数(C memcpy)详解
文章转载自:http://blog.csdn.net/sszgg2006/article/details/7989404原型:void*memcpy(void*dest, const void*src,unsigned int count);功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域不能重叠,函数返回指向dest...转载 2017-10-12 15:24:09 · 3932 阅读 · 0 评论 -
八大排序算法总结
排序是计算机程序设计中的一种重要操作,其功能是对一个数据元素集合或序列重新排列成一个按数据元素某个相知有序的序列。可将排序方法分为两大类: 一类是内部排序, 指的是待排序记录存放在计算机存储器中进行的排序过程;另一类是外部排序, 指的是待排序记录的数量很大,以至于内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。而内部排序又为:其中快速排序是目前排序方法中原创 2017-10-14 14:31:49 · 263 阅读 · 0 评论 -
八大排序算法-简单选择排序
基本思想:先把数列的第一个数当作最小值,保存起来,用最小值和之后的数据比较,小于最小值则替代最小值。时间复杂度为O(n^2)。实例:int arr[] = { 35, 28, 58, 10, 61, 58, 97, 17 };int k = sizeof(arr) / sizeof(arr[0]);void simpleSelectSort(int data[], int n)原创 2017-10-16 15:10:17 · 724 阅读 · 0 评论 -
bmFont的使用方法
1 打开 bmfont.exe2 字体设置选择 Font settings在这里我们选择微软雅黑,微软雅黑支持中文。字符编码,选择 Unicode你还可以在 Font settings 对话框里进行字体大小, 字体平滑程度等设置。3 选择你需要的字符关闭 Font settings 对话框。 我们可以看到该字体可用的字符有非常非常多,显然大大超过我们的需要...原创 2017-11-30 10:26:04 · 15498 阅读 · 2 评论 -
cocos2dx lua和c++纹理平铺
lua:local bg = cc.Sprite:create("test.png");bg:getTexture():setTexParameters(GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT);bg:setTextureRect(cc.rect(0, 0, 1136, 1024));bg:setScaleY(640/1024);bg:se原创 2017-11-27 15:18:46 · 903 阅读 · 0 评论 -
第一次使用Android Studio时你应该知道的一切配置
文章来源:http://www.cnblogs.com/smyhvae/p/4390905.html 【系列】第一次使用Android Studio时你应该知道的一切配置第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器第一次使用Android Studio时你应该知道的一切配置(三)转载 2018-01-06 10:16:24 · 4040 阅读 · 0 评论 -
iOS 中的 armv7,armv7s,arm64,i386,x86_64
文章转载自:https://www.jianshu.com/p/3fce0bd6f045前言iOS 中的 armv7,armv7s,arm64,i386,x86_64 这些都代表什么?在Xcode中如何选择。介绍armv7|armv7s|arm64都是ARM处理器的指令集i386|x86_64 是Mac处理器的指令集这些指令集在那些设备中有用到呢?arm64:iPhone6转载 2018-01-18 18:26:50 · 346 阅读 · 0 评论 -
c++获取lua中table的数据
首先,我们来简单了解一下lua中的Table。Table是lua中唯一内置的数据结构类型。也就是说,它没有内置list、array、map、set等等数据结构类型。在lua里面那些数据类型都是通过Table来实现的。在lua中的,Table是非常强大和重要的。当我们需要将lua嵌入到应用程序里面的时候,不可避免的需要操作Table。本文就来讨论一下如何在C语言中读取Lua中Table的内容。原创 2017-12-21 10:03:54 · 7174 阅读 · 3 评论 -
cocos2dx项目在XCode9下ntfw代替system
日前,有网友看了我的博客后,发消息告诉我遇到一个错误:说是找不到system。当前我的项目是没有问题的,没能找出问题所在。报错如下:Call to unavailable function 'system': not available on iOS。写这句话是为了写关键字,让大家容易搜索。后来,还是网友自己解决的,并把解决方案发给了我。这里,我就借用一下网友的答案说给大家说一下这个情况。在更新了Xcode9后,api也跟着更新了,所以有api接口错误很正常,按照接下来的操作就可以解决了。原因原创 2017-10-23 16:39:25 · 3689 阅读 · 6 评论 -
[iOS]FFmpeg框架在iOS平台上的编译和使用
文章转载自:http://www.jianshu.com/p/147c03553e63使用环境Mac OS Yosemite 10.10.5开发工具Xcode 7.0Terminal需要的文件链接gas-preprocessoryasmFFmpeg-iOS-build-scriptffmpeg-2.8编译适用于iOS平转载 2017-06-21 11:17:32 · 421 阅读 · 0 评论 -
Android Studio运行时自带签名配置过程详解
文章转载自:http://teachcourse.cn/2053.html摘要Android Studio比Eclipse在配置Project签名文件时方便很多,可以同时指定debug和release两种模式下的签名文件。debug模式即Android Studio运行时指定的签名文件,默认使用Android Studio自带的签名文件,当然在开发中集成第三方功能,比如转载 2018-03-30 11:29:35 · 6994 阅读 · 0 评论 -
八大排序算法-直接插入排序
直接插入排序的思想是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的数值。内层循环为待原创 2017-10-14 15:57:11 · 290 阅读 · 0 评论 -
八大排序算法-希尔排序
希尔的定义:希尔排序是插入算法的一种,也叫缩小增量排序。是直接插入排序算法的一种改良版。希尔算法是把数据序列按下标的一定增量分组,对每组使用直接插入排序算法进行排序;然后依次缩减增量再进行排序,待整个序列中的元素基本(注:没有全部完成排序)有序时,再对全体元素进行一次直接插入排序。基本思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所以距离为d1的倍数的记录放在同一个组原创 2017-10-16 09:47:13 · 260 阅读 · 0 评论 -
Android Studio运行时自带签名配置过程详解
文章转载自: http://teachcourse.cn/2053.html摘要Android Studio比Eclipse在配置Project签名文件时方便很多,可以同时指定debug和release两种模式下的签名文件。debug模式即Android Studio运行时指定的签名文件,默认使用Android Studio自带的签名文件,当然在开发中集成第三方功能,比转载 2018-04-11 17:35:27 · 3383 阅读 · 0 评论 -
javascript setInterval不能正确延时
javascript是一个单线程语言,只有一个主线程在程序中运行,如果有io请求,是浏览器的线程池(注意:浏览器是多线程的)去处理,等结果放回(把回调放回到主线程的执行队列中,并不能马上执行),回到主线程中去处理,所以javascript可以给人一种多线程的感觉。所以基于上述条件,像setInterval(func, 0)和setTimeout(func, 0)这样的语句,也不没有马上执行他,原创 2018-01-03 16:14:09 · 2877 阅读 · 0 评论 -
javascript读写二进制
javascript里有两个内置对象,一个是ArrayBuffer;一个是DataView。读写二进制数据都需要使用这两个对象。ArrayBuffer: ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区。ArrayBuffer 不能直接操作,而是要通过类型数组对象或 DataView 对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些原创 2018-01-04 16:56:09 · 8216 阅读 · 0 评论 -
javascript 杂谈之哪种写法你更喜欢?
文章转载自:http://www.cnblogs.com/baochuan/archive/2012/04/30/2473771.html思维导图介绍老是在写js,你平时是怎么写你的js呢?更喜欢哪种方式呢?今天就把常见的跟大家唠叨唠叨。——年纪大了,就这一爱好(平时也喜欢说胡话),别闲我烦!直接初始化法优点:1、userData...转载 2017-12-27 11:58:41 · 327 阅读 · 0 评论 -
cocos2dx lua 读取json数据
这里读取的数据是从excel转成json格式的数据local sData = cc.FileUtils:getInstance():getStringFromFile(filename);local var = json.decode(sData);if var.CODE == 0 then return var.DATA.list;end原创 2017-11-29 15:02:19 · 1100 阅读 · 0 评论 -
cocos2dx 自定义事件
cocos2dx里Director类里有一个_eventDispatcher成员变量,_eventDisptacher的类型是EventDispatcher。对于EventDispatcher,只要是这个类的对象发送(通过dispatchEvent发送)的事件(EventCustrom对象),该对象的监听器(EventListenerCustom)就可以监听(通过addEventListene原创 2017-12-01 16:53:53 · 1262 阅读 · 0 评论 -
namespace没有变量名的解析
匿名namespace直接在文件里面不加修饰的访问就OK了,但是超出这个文件就不行了譬如这样namespace{ int value;}int main(){ value=1;}这样做是为了避免污染用户变量。原创 2017-04-20 14:34:57 · 1547 阅读 · 0 评论 -
mac运行cocos2dx加载新资源的步骤
如果不懂如何在mac下运行cocos2dx程序,可以参考以下的文章http://blog.csdn.net/leansmall/article/details/50310343文章中所说的“XCODE下拉列表”为:接下来,如果有新的图片或者其他资源加入到项目中的时候,则需要引入到项目中:步骤如下:1.右击Resource这个组(注意,在xcode项目中,黄色的文件夹原创 2017-04-20 15:31:38 · 1071 阅读 · 0 评论