自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TheClimb的池塘

持续能将平凡变得非凡,这就是持续的力量!

  • 博客(35)
  • 资源 (4)
  • 收藏
  • 关注

原创 进程和线程的关系和区别

程序是指计算机指令的集合,它以文件的形式的存储在磁盘中。而进程通常是指一个正在运行的程序实例,即为应用,是一个程序在其自身地址空间的一次执行活动。一个程序可以对应多个进程,即多次打开同一个程序。进程组成:(1)内核对象,操作系统的一个内存块。(2)地址空间。线程组成:(1)内核对象,操作系统的一个内存块。(2)线程栈。进程从来不执行任何东西,它只是线程的容器,线程的执行环境。系统从进程

2015-04-26 16:05:00 364

转载 VS2012加载项目失败解决办法

编译cocos2d-x,一直提示加载失败通过搜索,解决方案如下:第一步,通过命令提示行工具进入VS安装目录下的%VS2012home%Common7\IDE第二部,执行devenv.exe /setup /resetuserdata /resetsettings第三步,重新加载sln文件

2015-04-24 16:04:24 671

转载 Cocos2d-x3.0模版容器详解之三:cocos2d::Value

1.概述版本: v3.0 beta语言: C++定义在 “COCOS2DX_ROOT/cocos/base” 路径下的 "CCValue.h" 的头文件中。?1classValue;cocos2d::Valie 是一个包含了很多原生类型(int,float,double,bo

2015-04-23 20:03:04 446

转载 Cocos2d-x3.0模版容器详解之二:cocos2d::Map<K,V>

1.概述版本: v3.0 beta语言: C++定义在 “COCOS2DX_ROOT/cocos/base” 路径下的 "CCMap.h" 的头文件中。?12templateclassK, classV>classCC_DLL Map;co

2015-04-23 19:51:35 576

转载 Cocos2d-x3.0模版容器详解:cocos2d::Vector<T>

Cocos2d-x3.0模版容器详解之一:cocos2d::Vector  http://www.cocoachina.com/bbs/read.php?tid=199793Cocos2d-x3.0模版容器详解之二:cocos2d::Map  http://www.cocoachina.com/bbs/read.php?tid=199916Cocos2d-x3.0模版容器详解之三:

2015-04-23 19:34:28 444

原创 创建自己的动态库及如何链接

创建DLL项目  新建项目->visual c++->win32->win32控制台应用程序  项目名称:MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成解决方案里出现新建立的MyDLL项目:新两个文件MyDLL.cpp,MyDLL.h// MyDLL.cpp : 定义 DLL 应用程序的导出函数。//#include "stdafx

2015-04-20 12:15:12 669

转载 网络编程 ——socket基本概念

1、网络中进程之间如何通信?2、Socket是什么?3、socket的基本操作3.1、socket()函数3.2、bind()函数3.3、listen()、connect()函数3.4、accept()函数3.5、read()、write()函数等3.6、close()函数4、socket中TCP的三次握手建立连接详解

2015-04-16 22:45:36 704

原创 cocos2dx-3.x test 启动项解析

对于cocos2dx初学者来说,引擎内带的案例test是一个很有用、很值得琢磨的东西,里面基本包含了cocos2dx的所有用法。运行后出现如下的窗口。那如何进入我们想要进入的模块场景呢?例如运行一开始则进入Camera3DTest 这个场景。首先分析看看AppDelegate.cpp这个文件:在bool AppDelegate::applicationDidFinishLaun

2015-04-09 18:19:15 984

转载 std::bind绑定器、std::function、extern C的使用

std::bind绑定器将函数、成员函数和闭包转成function函数对象将多元(n>1)函数转成一元函数或者(n-1)元函数。bind()接受一个函数(或者函数对象,或者任何你可以通过"(...)"符号调用的事物),生成一个其有某一个或多个函数参数被“绑定”或重新组织的函数对象。(译注:顾名思义,bind()函数的意义就像它的函数名一样,是用来绑定函数调用的某些参数的。)例如:

2015-04-09 18:07:47 898

转载 Cocos2d-x多场景切换生命周期

在多个场景切换时候,场景的生命周期会更加复杂。这一节我们介绍一下场景切换生命周期。多个场景切换时候分为几种情况:情况1,使用pushScene函数从实现HelloWorld场景进入Setting场景。情况2,使用replaceScene函数实现从HelloWorld场景进入Setting场景。情况3,使用popScene函数从实现Setting场景回到HelloWo

2015-04-09 16:12:21 422

转载 cocos2dx设计模式---------委托模式

在讨论Cocos2d-x里面的委托模式之前,先来讲讲什么是委托,以及C++里面如何实现委托。委托通常还会跟回调、闭包联系在一起,而委托和委托模式也有一点区别。下面先看看委托模式的例子一个打印机类的委托模式实现:12345678910111213

2015-04-09 14:36:51 484

转载 详解Cocos2d-X中宏CC_DLL

在cocos2d-x的源码中,经常可以看到宏CC_DLL的使用,比如在类CCScene的定义中:class CC_DLL CCScene : public CCNode{public:        CCScene();        virtual ~CCScene();        bool init();        static CCScene *create(void

2015-04-09 14:35:25 372

转载 设计模式之观察者模式

什么是观察者一个目标对象可以注册多个观察者,当目标对象的状态改变的时候,可以通知观察者对象作出相应的响应。这是标准的观察者模式的实现。 观察者模式又称为发布-订阅模式。优缺点优点:- 实现了目标对象和观察者之间的抽象耦合,在本例中,则是实现了消息与观察者的抽象耦合。可以定义一种消息与消息处理对象的一对多的关系,而不用担心彼此的实现细节。缺点:

2015-04-09 14:12:45 408

原创 C++ Assert断言

判断一个表达式,如果结果为假,输出诊断消息并中止程序。[cpp] view plaincopyprint?void assert(      int expression   );   expression表达式【包括指针】是非零或零)assert的作用是现计算表达式 expression ,如果其值为假(即为0)

2015-04-09 11:28:37 451

转载 Cocosd-x设计模式 -- 防御式编程模式

声明:防御式编程是提高程序代码质量的一种手段,它不能算是真正意义上的模式。但是,这里,我还是要给它冠之以“模式”二字。原因有2:1.Cocos2d-x的框架源代码大量采用了防御式编程技术,用来确保框架的代码质量和稳定性。2.标题党,引起大家对于防御式编程的重视。特别是当大家给Cocos2d-x贡献源代码的时候,更应该要注意保证代码质量。因为,王哲大大在review很多人给C

2015-04-09 11:22:47 532

转载 Cocos2d-x设计模式 -- 外观模式

仍然先来说明一下何为外观模式,一个复杂的系统包含很多子系统,为了使用这个复杂的系统,我们定义一个统一的接口来使用这个复杂的系统。当用户操作的时候只要调用我们提供的这个接口就好了,至于底层的这个复杂的系统,用户不必关系是如何工作的。这里列举一个网上的例子,编译系统是一个复杂的系统,包括什么词法分析,语法分析,语义分析等等,用户在编译程序的时候不需要了解这个复杂的系统到底是怎么编译的,只要使用统一的接

2015-04-09 11:16:59 465

转载 Cocos2d-x设计模式 -- 工厂模式

Cocos2d-x中也有工厂模式,何为工厂模式,顾名思义就是用来产生产品的,工厂就是用来创建其他类对象的类,我们把这个创建其他类对象的类叫做工厂类,而这些被创建的对象叫做产品,所以这种模式才叫做工厂模式,是不是很形象。我们从纯C++的角度来看一下如何使用工厂模式。工厂模式又分为简单工厂模式、工厂方法模式、抽象工厂模式,先来看一下简单工厂模式如何实现。简单工厂模式:当在程序中创建对象的时

2015-04-09 10:21:58 1764

转载 Cocos2d-x 设计模式 -- 单例设计模式

在Cocos2d-x中存在不少的单例,虽然单例的设计模式引起不少弊端。我们使用单例目的就是获得全局的唯一一个对象,来做一些事情,那么什么时候用单例什么时候不用单例呢。我觉得一个是从道理上来说,单例在全局应该是唯一的,比如cocos2dx中的导演类,一个游戏应该只有一个导演去完成一些功能,还有就是当你需要在一个类中初始化一个需要设定为单例的对象,为这个对象的成员变量赋值,当在另一

2015-04-09 10:00:34 561

转载 Cocos2d-x 设计模式 -- 二段构建模式

设计模式在程序设计中会经常用到,也许你从来没有留意过设计模式,其实你却一直在使用设计模式!Cocos2d-x中有不少的设计模式,所以从本篇博客开始探讨一下Cocos2d-x中的设计模式,看看引擎都使用了哪些设计模式,我们今后写代码要怎样使用某种设计模式。如果有任何错误还请留言指教,互相探讨。第二个设计模式是观察者模式,什么是观察者模式,如何实现观察者模式。就是被观察者含有一个数

2015-04-09 09:49:35 733

转载 Cocos2d-x数据篇06:SQLite3数据库基础用法

1、准备工作Cocos引擎的external文件夹里的sqlite3好像只有两个.h 文件,没有 sqlite3.c文件。所以我编译的时候一直编译不通过。后来去sqlite官网下了源文件,才编译成功的。(1)首先,到下载sqlite3的源文件。下载地址:http://www.sqlite.org/download.html (2)将sqlite3的三个源

2015-04-08 16:57:59 661

转载 Cocos2d-x数据篇03:XML数据操作

【前言】XML即可扩展标记语言,在游戏开发中,常用于保存游戏数据信息,如最高分、游戏等级等信息,和描述一些资源等。加载动画的plist文件、瓦片地图编辑器到处的地图格式tmx文件,实际上都是特定格式的xml文件。另外 UserDefault 单例类保存的数据,也是存储在xml文件中的。Cocos2d-x 已经加入了 tinyxml2库 用于xml的解析。3.x版本位于external/

2015-04-07 15:41:47 889

转载 Cocos2d-x数据篇02:Json数据操作

【前言】在游戏中使用Json来储存数据,既方便读取,又方便管理。比如Cocos Studio 1.6之前版本导出的资源扩展名就是 .ExportJson 格式的。Cocos2d-x 3.x 加入了rapidjson库用于json解析。位于external/json下。本节要介绍的就是:如何使用rapidjson库来操作处理json文件。【Json

2015-04-07 11:38:50 3309 1

转载 Cocos2d-x数据篇01:UserDefault数据存储

【前言】一个游戏怎么能没有游戏存档呢?在Cocos2d-x中也提供了一个数据存储类CCUserDefault,可以作为一个轻量级的数据库来使用。它支持五种数据bool、int、float、double、string的存储。【Demo下载】UserDefault数据存储【Cocos2d-x 3.x】(1)去掉 “CC”(2)

2015-04-07 11:03:07 3748

原创 Lua学习(八)-----协同程序

下表列出了在Lua协同程序及其相应的使用所有的可用功能。S.N.Method & Purpose1.coroutine.create (f): 创建一个新的协程与函数f 和 返回类型“线程”的对象。2.coroutine.resume (co [, val1, ...]): 重新开始corountine co和传递

2015-04-03 15:25:53 388

转载 C语言和设计模式(工厂模式)

工厂模式是比较简单,也是比较好用的一种方式。根本上说,工厂模式的目的就根据不同的要求输出不同的产品。比如说吧,有一个生产鞋子的工厂,它能生产皮鞋,也能生产胶鞋。如果用代码设计,应该怎么做呢?[cpp] view plaincopytypedef struct _Shoe  {      int type;      void (*

2015-04-02 19:10:17 403

转载 C语言和设计模式(之模板模式)

模板对于学习C++的同学,其实并不陌生。函数有模板函数,类也有模板类。那么这个模板模式是个什么情况?我们可以思考一下,模板的本质是什么。比如说,现在我们需要编写一个简单的比较模板函数。[cpp] view plaincopytemplate typename type>  int compare (type a, type b)  {

2015-04-02 19:05:58 492

转载 C语言和设计模式(之组合模式)

组合模式听说去很玄乎,其实也并不复杂。为什么?大家可以先想一下数据结构里面的二叉树是怎么回事。为什么就是这么一个简单的二叉树节点既可能是叶节点,也可能是父节点?[cpp] view plaincopytypedef struct _NODE  {      void* pData;      struct _NODE* left;

2015-04-02 19:04:34 462

转载 C语言和设计模式(之原型模式)

原型模式本质上说就是对当前数据进行复制。就像变戏法一样,一个鸽子变成了两个鸽子,两个鸽子变成了三个鸽子,就这么一直变下去。在变的过程中,我们不需要考虑具体的数据类型。为什么呢?因为不同的数据有自己的复制类型,而且每个复制函数都是虚函数。    用C++怎么编写呢,那就是先写一个基类,再编写一个子类。就是这么简单。[cpp] view plaincopy

2015-04-02 19:02:05 470

转载 C语言和设计模式(之单例模式)

有过面试经验的朋友,或者对设计模式有点熟悉的朋友,都会对单件模式不陌生。对很多面试官而言,单件模式更是他们面试的保留项目。其实,我倒认为,单件模式算不上什么设计模式。最多也就是个技巧。    单件模式要是用C++写,一般这么写。[cpp] view plaincopy#include   #include     clas

2015-04-02 19:00:27 1040

转载 C语言和设计模式(之开篇)

关于软件设计方面的书很多,比如《重构》,比如《设计模式》。至于软件开发方式,那就更多了,什么极限编程、精益方法、敏捷方法。随着时间的推移,很多的方法又会被重新提出来。    其实,就我个人看来,不管什么方法都离不开人。一个人写不出二叉树,你怎么让他写?敏捷吗?你写一行,我写一行。还是迭代?写三行,删掉两行,再写三行。项目的成功是偶然的,但是项目的失败却有很多原因,管理混乱、需求混乱

2015-04-02 19:00:02 431

原创 Lua学习(七)-----迭代器和泛型for

array={ "Lua","Tutorial"}for key,value in ipairs(array)doprint(key,value)end--[[上面的示例使用由Lua中提供的默认ipairs迭代函数。在Lua中,我们使用函数来表示迭代器。基于这些迭代器的功能状态保持,有两种主要类型:无状态的迭代器迭代器状态--]]func

2015-04-02 15:44:13 624

原创 Lua学习(六)-----函数

--[[函数是一组一起执行任务的语句。可以把代码放到独立的函数中。怎么划分代码功能之间的不同,但在逻辑上划分通常是让每个函数执行特定的任务。Lua语言提供了程序可以调用大量的内置方法。例如,方法print()打印作为输入传参数在控制台中。函数是已知的各种名称,如方法或子程序或程序等。--]]function foo_0()endfunction foo_1()return "a"...

2015-04-02 15:07:14 264

原创 Lua学习(五)----表

-- Simple empty tablemytable = {}print("Type of mytable is ",type(mytable))mytable[1]= "Lua"mytable["wow"] = "Tutorial"print("mytable Element at index 1 is ", mytable[1])print("mytable

2015-04-02 15:02:30 535

原创 Lua学习(四)----数组

-----------------------一维数组local array = {1,2,3}for i=1 , 3 do  print(array[i])endlocal array1 = {}for i=-2, 2 doarray1[i]=iendarray1[1]=100for i=-2, 2 doprint(array1[i])

2015-04-02 14:59:21 402

原创 Lua学习(三)----基本语法

local iValue=10local fValue=10.2local funcValue=printlocal bValue=truelocal tbValue={}local strValue="hello lua"local nilValue=nilif type(iValue) == "number" thenprint("It is a number")endif...

2015-04-02 14:57:00 317

GSM串口调试(收发短信接打电话

GSM串口调试(收发短信接打电话).分享给正在学习GSM模块的同学,望学习进步!

2012-03-13

空空如也

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

TA关注的人

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