- 博客(184)
- 资源 (26)
- 收藏
- 关注
原创 lua学习笔记之五(Lua中的数学库)
Lua中的数学库Lua5.1中数学库的所有函数如下表:math.pi为圆周率常量 = 3.14159265358979323846 表1数学库说
2013-10-28 15:52:53 3778
原创 lua学习笔记之四(Lua中的基本函数库)
Lua中的基本函数库表1基本函数库功能参数备注assert(v[,mess age]) 相当于C的断言v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed!"
2013-10-28 15:40:45 1940
原创 lua学习笔记之三(C/C++程序员的Lua快速入门[高阶话题])
高阶话题1.迭代1.1 实例代码: --迭代 local function enum(array) local index = 1 return function() local ret = array[index] index = index + 1 return ret end end local function f
2013-10-28 14:55:39 2381
原创 lua学习笔记之二(C/C++程序员的Lua快速入门[进阶话题])
进阶话题1.函数闭包1.1 实例代码 function createCountdownTimer(second) local ms = second * 1000 --ms为countDown的Upvalue local function countDown() ms = ms -1 return ms end return co
2013-10-28 14:23:48 2619
原创 lua学习笔记之一(C/C++程序员的Lua快速入门[初阶话题])
前言本文针对的读者是有经验的C/C++程序员,希望了解Lua或者迅速抓住Lua的关键概念和模式进行开发的。因此本文并不打算教给读者条件语句的语法或者函数定义的方式等等显而易见的东西,以及一些诸如变量、函数等编程语言的基本概念。本文只打算告诉读者Lua那些与C/C++显著不同的东西以及它们实际上带来了怎样不同于C/C++的思考方式。不要小看它们,它们即将颠覆你传统的C/C+
2013-10-28 11:37:14 2798 3
原创 设计模式(c++)笔记 总结
一、设计模式分类: 按照目的来分,设计模式可以分为创建型模式、结构型模式和行为型模式。(分类如下表) 创建型模式用来处理对象的创建过程; 结构型模式用来处理类或者对象的组合; 行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。表1-1
2013-10-25 15:55:49 2465
原创 设计模式(c++)笔记之二十三(Interpreter模式)
一、描述: 概念:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。最简单的例子是表达式运算。 Interpreter 模式典型的结构图为: Interpreter 模式中,提供了 TerminalExpression 和 Nontermin
2013-10-25 14:34:49 3031
原创 设计模式(c++)笔记之二十二(Iterator模式)
一、描述: 概念:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。 Iterator 模式典型的结构图为: Iterator 模式中定义的对外接口可以视客户成员的便捷定义,但是基本的接口在图中的Iterator 中已经给出了(参考 STL 的 Itera
2013-10-25 13:54:25 1657
原创 设计模式(c++)笔记之二十一(Chain of Responsibility模式)
一、描述: 概念:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 Chain of Responsibility 模式典型的结构图为: Chain of Responsibi
2013-10-25 10:52:34 1983
原创 设计模式(c++)笔记之二十(Visitor模式)
一 、描述 概念:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 其典型的结构图为: Visitor 模式在不破坏类的前提下,为类提供增加新的新操作。Visitor 模式的关键是双分派(Double-Dispat
2013-10-25 10:04:07 1914
原创 设计模式(c++)笔记之十九(Command模式)
一、描述: 命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。应该是一个比较简单的模式了。 Command 模式的典型结构图为: Command 模式结构图中,将请求的接收者(处理者)放到 Co
2013-10-24 20:19:47 1749
原创 设计模式(c++)笔记之十八(Mediator模式)
一、描述: 在面向对象系统的设计和开发过程中,对象之间的交互和通信是最为常见的情况,因为对象间的交互本身就是一种通信。在系统比较小的时候,可能对象间的通信不是很多、对象也比较少,我们可以直接硬编码到各个对象的方法中。但是当系统规模变大,对象的量变引起系统复杂度的急剧增加,对象间的通信也变得越来越复杂,这时候我们就要提供一个专门处理对象间交互和通信的类,这个中介
2013-10-24 18:11:57 2007
原创 设计模式(c++)笔记之十七(Memento模式)
一、描述: 没有人想犯错误,但是没有人能够不犯错误。犯了错误一般只能改过,却很难改正(恢复)。世界上没有后悔药,但是我们在进行软件系统的设计时候是要给用户后悔的权利(实际上可能也是用户要求的权利:),我们对一些关键性的操作肯定需要提供诸如撤销(Undo) 的操作。那这个后悔药就是 Memento 模式提供的。 Memento 模
2013-10-24 15:44:37 1656
原创 设计模式(c++)笔记之十六(Observer模式)
一、描述 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
2013-10-24 15:12:27 1694
原创 设计模式(c++)笔记之十五(State模式)
一、描述 概念:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。问题: 每个人、事物在不同的状态下会有不同表现(动作),而一个状态又会在不同的表现下转移到下一个不同的状态(State)。最简单的一个生活中的例子就是:地铁入口处,如果你放入正确的地铁票,门就会打开让你通过。在出口处也是验票,如果正确你就可以 ok,否则就
2013-10-24 11:15:15 2020
原创 设计模式(c++)笔记之十四(Strategy模式)
一、描述 Strategy 模式和 Template 模式要解决的问题是相同(类似)的,都是为了给业务逻辑(算法)具体实现和抽象接口之间的解耦,但Strategy 模式将逻辑(算法)封装到一个类(Context)里面,通过组合的方式将具体算法的实现在组合对象中实现,再通过委托的方式将抽象接口的实现委托给组合对象实现。 Strategy 模式典型的
2013-10-23 20:25:33 1730
原创 设计模式(c++)笔记之十三(Template模式)
一、描述: 在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template 提供了这种情况的一个实现框架。Template 模式是采用继承的方式实现这一点:将逻辑(算法)框架放在抽象基类中,并定义好细节的接口,子类中实现细节。【注释1
2013-10-23 19:25:34 1538
原创 设计模式(c++)笔记之十一(Facade模式)
一、描述 Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行。Facade模式提供一个高层次的接口,使得子系统更易于使用。 举一个生活中的小例子,大凡开过学或者毕过业的都会体会到这样一种郁闷:你要去 n个地方办理 n 个手续(现在大学合并后就更加麻烦,因为可能那 n 个地方都隔的比较远)。但是实际上我们需要的就是一个
2013-10-23 16:23:46 1885
原创 设计模式(c++)笔记之十(Flyweight模式)
一、描述 设计模式中的享元模式,避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类).问题 在面向对象系统的设计何实现中,创建对象是最为常见的操作。这里面就有一个问题:如果一个应用程序使用了太多的对象,就会造成很大的存储开销。特别是对于大量轻量级(细粒度)的对象,比如在文档编辑器的设计过程中,我们如果为没有字母创建一个对象
2013-10-23 14:06:41 2188
原创 设计模式(c++)笔记之九(Composite模式)
一、描述 概念:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合的使用具有一致性。Composite 模式的典型结构图为: 图 2-1:Composite Pattern 结构图 二、实例:
2013-10-23 10:49:34 2464
原创 设计模式(c++)笔记之八(Decorator模式)
一、描述 装饰模式,动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。问题: 在 OO 设计和开发过程,可能会经常遇到以下的情况:我们需要为一个已经定义好的类添加新的职责(操作),通常的情况我们会给定义一个新类继承自定义好的类,这样会带来一个问题(将在本模式的讨论中给出)。通过继承的方
2013-10-21 11:55:15 1774
原创 设计模式(c++)笔记之七(Adapter模式)
一、描述: 适配器模式,使用之处比较特殊,不属于常规设计模式,主要用于不同系统之间的处理。是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。举个例子,比如我们有一个 Team 为外界提供 S 类服务,但是我们 Team 里面没有能够完成此项人物的 member,然后我们得知有 A 可以完成
2013-10-21 10:12:21 1820
原创 设计模式(c++)笔记之六(Bridge模式)
一、描述: 总结面向对象实际上就两句话:一是松耦合(Coupling),二是高内聚(Cohesion)。面向对象系统追求的目标就是尽可能地提高系统模块内部的内聚(Cohesion)、尽可能降低模块间的耦合(Coupling)。然而这也是面向对象设计过程中最为难把握的部分,大家肯定在OO 系统的开发过程中遇到这样的问题:1)客户给了你一个需求,于是使用一个类
2013-10-17 11:40:46 3008
原创 设计模式(c++)笔记之五(Prototype 模式)
一、描述: 关于这个模式,突然想到了小时候看的《西游记》,齐天大圣孙悟空再发飙的时候可以通过自己头上的 3 根毛立马复制出来成千上万的孙悟空,对付小妖怪很管用(数量最重要)。 Prototype 模式也正是提供了自我复制的功能,就是说新对象的创建可以通过已有对象进行创建。在 C++中拷贝构造函数(Copy Constructor)曾经是很对程序员的噩梦,
2013-10-17 10:09:04 3325
原创 设计模式(c++)笔记之四(Builder 模式)
一、描述 建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一段晦涩难懂的文字,实现创建不同表示的方法就是给创建的过程传入创建的参数。详细的还是看代码吧。 举个例子:生活中有着很多的 Builder 的例子,个人觉得大学生活就是一个 Builder 模式的最好体验:要完成大学教育,一般将大学教育过程分成 4 个学期进行,因此没有学
2013-10-16 15:15:52 2431 3
原创 设计模式(c++)笔记之三(Singleton单例模式)
一、简介 个人认为 Singleton 模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。且不说公司企业在招聘的时候为了考察员工对设计的了解和把握,考的最多的就是 Singleton 模式。 Singleton 模式解决问题十分常见,我们怎样去创建一个唯一的变量(对象)?在基于对象的设计中我们可以通过创建一个全局变量(对象)来实现,在面
2013-10-14 16:02:38 2276
原创 设计模式(c++)笔记之二(AbstractFactory抽象工厂模式)
一、简介: 抽象工厂,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。对于工厂方法来说,抽象工厂可实现一系列产品的生产,抽象工厂更注重产品的组合。AbstractFactory 模式典型的结构图为: 图 2-1:AbstractFactory Pattern 结构图Abstract
2013-10-14 13:55:27 2785 3
原创 设计模式(c++)笔记之一(Factory Method工厂方法模式)
工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。一、模式选择我们通常使用 Factory 模式来解决上面给出的两个问题。在第一个问题中,我们经常就
2013-10-14 11:24:19 3867
原创 cocos2d-x学习日志(13) --A星寻路算法demo
你是否在做一款游戏的时候想创造一些怪兽或者游戏主角,让它们移动到特定的位置,避开墙壁和障碍物呢?如果是的话,请看这篇教程,我们会展示如何使用A星寻路算法来实现它!A星算法简介:A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。实现原理:可参考这
2013-10-12 11:15:37 3335
原创 cocos2d-x学习日志(12) --弹出对话框的设计与实现
我们时常需要这么些功能,弹出一个层,给与用户一些提示,这也是一种模态窗口,在没有对当前对话框进行确认的时候,不能继续往下操作。功能分析我们设计一个对话框,对话框上有几个按钮(个数可定制),当然有个标题,会让别人一眼看出它之功用,里面可以有些详细的提示文字,需要是模态窗口,而且窗口的大小可变,这样能够更好的适应不同的屏幕的大小。当然还有一个重要的功能,弹出效果 ~ 虽
2013-10-11 09:41:39 5305
原创 C++中句柄
一、句柄的概念1.windows方面理解:句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,
2013-10-10 14:20:49 4567
原创 Cocos2d-x + Android + Eclipse + Windows 7
详细搭建步骤如下:一、Android 开发环境搭建1、Android 开发工具Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。1.1 下载 JDK1.2 下载 Eclipse1.3 下载 Android SDK1.4 启动Eclipse , 安装 ADT2、下载安装Android NDK我使用的NDK
2013-10-07 16:18:47 6599 4
原创 cocos2d-x(2.1.4)创建Android工程,常见问题
1.若如果有编译错误提示无法识别cocos2dx?解决方案:Properties > Java Build path > Link Source,选择E:\cocos2d-x\cocos2d-2.0-x-2.0.4\cocos2dx\platform\android\java\src路径,Name不与src冲突即可。其中E:\cocos2d-x\cocos2d-2.0-x-2.0.4\coco
2013-10-06 18:04:46 1886
原创 C++ Socket编程
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。一、实现步骤:1. 服务器端编程的步骤:1.1:加载套接字库,创建套接字(WSAStartup()/socket());1.2:绑定套接字到一个IP地址和一个端口上(b
2013-09-28 23:14:45 14207
原创 cocos2d-x学习日志(11) --cocos2d-x 精灵遮罩
转载请标明:转载自【小枫栏目】,博文链接:http://blog.csdn.net/rexuefengye/article/details/10553487一、精灵遮罩的原理:1.理解颜色混合。精灵有个成员函数:setBlendFunc(),这个函数以一个ccBlendFunc类型的变量为参数。这个ccBlendFunc是个结构体。这个结构体中有两个变量:src
2013-09-26 16:02:39 4679 4
原创 【OpenGL游戏开发之四】Xcode 4.6.2 搭建OpenGL ES
一、添加OpenGL ES 模板1.下载地址:http://download.csdn.net/detail/yjh4866/4515400#comment2.添加路径:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/二、
2013-09-25 09:44:42 3813 1
原创 【OpenGL游戏开发之三】OpenGl核心函数库汇总
OpenGl核心函数库glAccum 操作累加缓冲区glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形glAlphaFunc允许设置alpha检测功能glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中glArrayElement 定义一个被用于顶点渲染的数组成分glBegin,g
2013-09-16 15:58:51 2277
原创 【OpenGL游戏开发之二】OpenGL常用API
OpenGL常用API 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL库函数的命名方式非常有规律。所有OpenGL函数采用了以下格式: 库前缀有gl、glu、aux、glut、wgl、glx、agl等等,分别表示该函数属于OpenGL那个开发库,从函数名后面中还可以看出需要多少个参数以
2013-09-16 15:50:28 2321
转载 COCOS2D #error "Cannot recognize the target platform; are you targeting an unsupported platform?"
在mac下面 出现了 #error "Cannot recognize the target platform; are you targeting an unsupported platform?" 的错误信息,该如何解决呢?首先我们分析问题的原因,翻译为中文大意就是 系统没有找到对应的平台信息。在xcode里面的解决办法是:找到点击自己的
2013-09-16 10:22:38 7044
原创 【OpenGL游戏开发之一】MAC OS X And Win7 vs2010 搭建OpenGL
一、环境1.操作系统:mac2.开发工具:Xcode 4.6.23.opengl文件:GLTools,GLUT和OpenGL(http://www.starstonesoftware.com/OpenGL/) 二、搭配环境1.添加GLTools头文件(在下载文件SB5/Src/GLTools),为了Snow Leopard预构建的32/64位进制文件
2013-09-14 10:14:27 7884 10
Snapdragon Profiler v2022.5
2023-03-24
Objective-C程序设计(第6版带中文目录 )
2019-07-19
More Effective c# 清晰版
2018-11-03
cocos2d-x游戏实例 萝莉快跑
2013-10-28
OPenGL ES 模板
2013-09-25
Android SDK 中文开发文档
2012-12-06
Android2.0游戏开发实践宝典源代码
2012-12-05
Erlang程序设计中文版
2012-10-09
Erlang安装手册
2012-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人