自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 编写C++的基本注意事项(0) — 序言

编写C++的基本注意事项(0) — 序言我最开始学编程,是从C++入门的,当时也没有特别挑选这门语言。只是当时大学有门程序设计课,学的就是这个。我第一份工作就是用C++在Windows上开发。后来换工转iOS, 更多的用object-C,只偶然需要一下C++。现在公司转型用cocos2dx开发手机游戏,就回归使用C++了。我很多同事,有些使用java入门,有些直接就是obj

2014-02-09 20:59:51 2240

原创 pdf格式分析(1) -- 文本和二进制混排

pdf一个很大的特色是文本和二进制混排。文本格式无需专门的工具就可以读写,在编写程序的过程中也容易检查。另外容易扩展,比如将数字直接写成文本,就没有数据溢出的问题。最开始数字表示用32位,后来发觉需要使用64位,这种扩展是很麻烦的。又比如xml的格式,最开始只需要3个属性,后来添加了5个属性,也完全是兼容旧版的。文本格式鼓励尽量使用简单的结构。还是以xml为例,通常xml输出的时候会以分层

2012-11-06 09:42:08 4009

原创 iOS开源代码 —— UI相关

<!--.title {font-size:20px; padding-top:10px}.title a {text-decoration:none; color:rgb(187,68,17)}.detail {font-size:14px; line-height:25px; margin-top:-15px; padding-bottom:5px}

2011-12-30 01:26:10 5820

原创 iOS开源代码 —— 非UI

<!--.title {font-size:20px; padding-top:10px}.title a {text-decoration:none; color:rgb(187,68,17)}.detail {font-size:14px; line-height:25px; margin-top:-15px; padding-bottom:5px}

2011-12-29 21:32:50 3139

翻译 Box2D v2.1.0用户手册翻译 - 第12, 13, 14章

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第12章 调试绘图(Debug Drawing)实现 b2DebugDraw 可得到物理世界的细部图,这里是可用的实体:•                    形状轮廓•                    关节连通性•

2011-08-30 20:46:26 5023 3

翻译 Box2D v2.1.0用户手册翻译 - 第11章 杂项(Loose Ends)

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第11章 杂项(Loose Ends)11.1 隐式摧毁Box2D没有使用引用计数。你摧毁了body后,它就确实不存在了。访问指向已摧毁body的指针,会导致未定义的行为。 也就是说,你的程序可能会崩溃。以debug方式编译出的程序,Box2D的内存

2011-08-30 20:38:15 4086 2

翻译 Box2D v2.1.0用户手册翻译 - 第10章 世界(World Class)

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第10章 世界(World Class)关于b2World类包含物体和关节。它管理着模拟的方方面面,并允许异步查询(就像AABB查询和光线投射)。 你与Box2D的大部分交互都将通过 b2World 对象来完成。创建和摧毁world创建一个world

2011-08-29 22:25:20 6470

翻译 Box2D v2.1.0用户手册翻译 - 第09章 接触(Contacts)

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第09章 接触(Contacts)9.1 关于接触(contact)是由 Box2D 创建的用于管理fixture间碰撞的对象。接触有不同的种类,它们都派生自 b2Contact,用于管理不同类型形状之间的接触。例如, 有管理多边形之间碰撞的类,有管

2011-08-28 19:11:02 11344 3

翻译 Box2D v2.1.0用户手册翻译 - 第08章 关节(Joints)

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第08章 关节(Joints)8.1 关于关节用于把物体约束到世界,或约束到其它物体上。在游戏中, 典型例子有木偶, 跷跷板和滑轮。用不同的方式将关节结合起来使用, 可以创造出有趣的运动。有些关节提供了限制(limit), 使你可以控制运动的范围

2011-08-27 21:22:36 10042 1

翻译 Box2D v2.1.0用户手册翻译 - 第07章 物体(Bodies)

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第07章 物体(Bodies)7.1 关于物体具有位置和速度。你可以将力(forces), 扭矩(torques),冲量(impulses)应用到物体上。 物体可以是静态的(static), 运动但不受力的(kinematic), 和动态的(dyna

2011-08-26 21:01:32 10967 1

翻译 Box2D v2.1.0用户手册翻译 - 第06章 夹具(Fixtures)

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第06章 夹具(Fixtures)6.1 关于回想一下,形状并不知道物体的存在,可以独立使用。因此Box2D需要提供b2Fixture类,用于将形状附加到物体上。 fixture具有下列属性:•         关联的形状•

2011-08-25 22:19:59 11108 3

翻译 Box2D v2.1.0用户手册翻译 - 第05章 动态模块(Dynamics Module)

第05章 动态模块(Dynamics Module)5.1 概述动态模块是Box2D中最复杂的部分,你与这模块之间的交互也最多。动态模块构建在通用和碰撞模块的基础上,到现在你对这两个模块也应该有所了解了。动态模块包括下面这些类:•

2011-08-25 21:39:06 5214 1

翻译 Box2D v2.1.0用户手册翻译 - 第04章 碰撞模块(Collision Module)

第04章 碰撞模块(Collision Module)4.1 关于碰撞模块包含了形状, 和操作形状的函数。该模块还包含了动态树(dynamic tree)和broad-phase, 用于加快大型系统的碰撞处理速度。4.2 形状(Shapes)

2011-08-24 22:47:50 10665 2

翻译 Box2D v2.1.0用户手册翻译 - 第03章 公共模块(Common)

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第03章 公共模块(Common)3.1 关于公共模块包含了配置(Settings),内存管理(memory management)和矢量数学(vector math)3.2 配置头文件 b2Settings.h 包含:•

2011-08-23 23:08:22 5826 2

翻译 Box2D v2.1.0用户手册翻译 - 第02章 Hello Box2D

内容很多摘自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册第02章 Hello Box2DBox2D的发布包中有个Hello World程序。程序创建了一个大大的地面盒(ground box)和一个小小的动态盒(dynamic box)。盒子的位置随着时间的变化而变化。代码没有涉及到图形界面,你只能在控制台中看到文字输出这

2011-08-22 21:02:29 8223 1

翻译 Box2D v2.1.0用户手册翻译 - 目录,第01章 导言(Introduction)

网上已经有个Box2D用户手册的翻译,但是基于v2.0.1,跟最新手册有很多不对应。在这里决定将文档的全文再翻译出来,更准确的说是根据网上流传的v2.0.1版本,将最新文档重新整理一遍。很多内容是直接复制自Aman JIANG(江超宇)翻译的Box2D v2.0.1 用户手册Box2D v2.1.0 用户手册版权 © 2007-2010 Er

2011-08-21 22:42:01 14664 3

原创 编程语言只是种工具?

以前,我觉得编程语言并没有好坏之分,只是一种表达工具,关键是事先想好。上述的观点很多人都认同,语言之争中,前辈们也会用上述论调平息纠纷。上述观点也并不可以算错,然而我觉得不太完整,也很容易被误解。语言确实是种工具,但我们不应该忽略工具的作用。我们想什么,去做什么事会决定使用什么工具,但反过来我们有什么工具也会决定我们怎么想,怎么做事。如果工具没有提供这个功能,你就不会向这方面想,也就不会这

2011-06-06 10:20:00 5777 3

原创 破解的iphone上, 如何编写具有root权限的程序

破解的iphone上, 如何编写具有root权限的程序正常途径下, 我们编写的程序发布在App store上, 使用官方规定的SDK. 但有些时候, 正常途径实现不了的功能, 可以在破解的iphone上面实现. 以cydia上文件管理软件iFile为例, iFile可以修改系统的任何文件, 这需要iFile具有root权限, 在iphone没有破解的情况之下, 是无论如何都实现不了的.对于iphone系统, 有两个目录会安装应用程序1. /Application 2. /var/mobile/Applica

2010-11-15 22:15:00 8635 4

原创 iphone中 CoreData 框架的简单解释

<br />并非严格的说, CoreData是对sqlite数据库的一个封装.<br /><br />sqlite数据库操作的基本流程是, 创建数据库, 再通过定义一些字段来定义表格结构, 可以利用sql语句向表格中插入记录, 删除记录, 修改记录, 表格之间也可以建立联系.<br /><br />这个过程出现了, 表格的结构(schema), 所有表格的结构和相互联系构成整个数据库的模型, 数据库存放的方式(可以是文件或者在内存), 数据库操作, sql语句(主要是查询), 表格里面的记录<br /><b

2010-09-28 14:48:00 5438

原创 信仰

每个行业都有顶尖的人物。如果身在此行业,对他们的事迹一点也不在意,很有可能是被逼进来,而不是真心喜欢的。自己擅长做某事,而发觉他人比更擅长,你会佩服他。但如果你不在乎钱财,就算他再有钱,你对他也毫不在意,因为根本就不是同一类人,理他干嘛。难道还会去佩服那些顶着大肚子,卖掉地下矿藏,开车撞人的暴发户?人应该有自己的信仰,也应该有精神偶像,因为他们做到你想做而还没有做到的事情,过着你想过而又还没有

2009-11-06 23:03:00 2728 2

原创 迭代 自指

1. 迭代系统。x[n] = F(x[n-1]),n趋于无穷,x = F(x),  x为方程F的解。2. 对角线法则。自然数和有理数一一对应,无理数比自然数“多”3. 停机问题。4. 几乎所有东西都可以用数字编码。包括研究数字的数论定理。5. 用数学来研究数学,用语言来描述语言的语法。6. 写个C程序打印出这个C程序本身。8.  DNA双螺旋,既可以是指令,也是数据。7

2009-11-05 23:34:00 1051

原创 智能,模式

智能,模式作为有智能的生物,我们会自然而然的观察周围的环境,从总多的表象中抽取它们共有的特性。当我们接触一个新领域时,刚开始会觉得那些知识很凌乱,知道的只是知识的描述。慢慢的,觉得那些描述是相互有联系的,都可以从同一原则,并利用相同的推算方法得出。这个时候,我们就自然记住那基本原则和推算方法,而很大程度上忽略了知识的描述,当需要的时候很容易还原出描述本身来。跟着,很多不同原则和推算方式,又

2009-07-26 16:40:00 791

原创 延迟执行的一个例子

延迟执行的一个例子 相信大家多多少少都有拖延的毛病。比如要你收拾屋子,就可能会拖上两个星期,等自己习惯了,就不觉得乱了。当然上面说的那种拖拉是不好,但适当的懒惰是人们前进的动力。程序设计中有些技术就用到了拖延战术。如写时复制等。 假如有个类,构造函数的开销很大,需要全局访问,又不一定需要用到。你会怎样做?将这个类暂时定名为BigClass。一个例子就是打印错误信息的类,可能没有出错

2009-07-16 10:23:00 1292

原创 线程局部存储TLS

线程局部存储TLS堆栈中定义的局部变量,对多线程是安全的,因为不同的线程有自己的堆栈。而通常定义的全局变量,所有线程都可以作读写访问,这样它就不是线程安全的,为安全就有必要加锁互斥访问。而何为线程局部存储(TLS),简单的说,就是一个变量(通常是指针,指向具体的类型),每个线程都有一个副本,而在程序中可以按照相同的方式来访问,(比如使用相同的变量名,又或者都调用TlsGetValue),既然是

2009-07-15 19:47:00 4773 2

空空如也

空空如也

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

TA关注的人

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