代码改变世界

日期的格式化字符的含义和举例

2013-10-16 14:06 by 科悦, 1133 阅读, 0 推荐, 收藏, 编辑
摘要:a: AM/PM (上午/下午)A: 0~86399999 (一天的第A微秒)c/cc: 1~7 (一周的第一天, 周天为1)ccc: Sun/Mon/Tue/Wed/Thu/Fri/Sat (星期几简写)cccc: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday (星期几全拼)d: 1~31 (月份的第几天, 带0)D: 1~366 (年份的第几天,带0)e: 1~7 (一周的第几天, 带0)E~EEE: Sun/Mon/Tue/Wed/Thu/Fri/Sat (星期几简写)EEEE: Sunday/Monday/Tuesda 阅读全文

C语言struct关键字详解—结构体

2013-08-28 12:45 by 科悦, 1645 阅读, 0 推荐, 收藏, 编辑
摘要:struct 是个神奇的关键字,它将一些相关联的数据打包成一个整体,方便使用。在网络协议、通信控制、嵌入式系统、驱动开发等地方,我们经常要传送的不是简单的字节流(char 型数组),而是多种数据组合起来的一个整体,其表现形式是一个结构体。经验不足的开发人员往往将所有需要传送的内容依顺序保存在char 型数组中,通过指针偏移的方法传送网络报文等信息。这样做编程复杂,易出错,而且一旦控制方式及通信协议有所变化,程序就要进行非常细致的修改,非常容易出错。这个时候只需要一个结构体就能搞定。平时我们要求函数的参数尽量不多于4 个,如果函数的参数多于4 个使用起来非常容易出错(包括每个参数的意义和顺序都容 阅读全文

扩展cocos2d-x中的CCSprite增加点击事件处理

2013-07-23 23:07 by 科悦, 2264 阅读, 1 推荐, 收藏, 编辑
摘要:#ifndef __CCSPRITEEX_H__#define __CCSPRITEEX_H__// CCSpriteEx 是对 CCSprite类的扩展,主要是能得到触摸事件的反馈#include #include NS_CC_BEGINclass CCSpriteEx : public CCSprite, public CCTargetedTouchDelegate{public:CCB_STATIC_NEW_AUTORELEASE_OBJECT_WITH_INIT_METHOD(CCSpriteEx, create); // 用于CocosBuilder// 设置点击精灵的事件处理器vo 阅读全文

Cocos2d-x面试题

2013-07-23 16:16 by 科悦, 2496 阅读, 0 推荐, 收藏, 编辑
摘要:1,阐述cocos2d-x 中CCScene CCLayer CCSprite CCNodeCCScene:CCScene是app工作流程上独立块,一个app可能拥有多个scene,但是在任何时候只能有一个是激活状态的。一个CCScene对象由一个或多个CCLayer组成,layer之间是前后相连的。Layer提供了scene的外观和行为。通常的用法是直接用一个或多个layer实例化一个sceneCCScene的子类CCTrasitionScene实现移动transitions,提供两个scene之间的转移效果,由于scene是CCNode的子类,所以scene可以手工或者用aciton来转变 阅读全文

cocos2d-x判断sprite点击

2013-07-23 16:13 by 科悦, 625 阅读, 0 推荐, 收藏, 编辑
摘要:#基于cocos2d-x 1.0.1我们常常需要判断用户的点击操作是否落于某个sprite之上,进而让这个sprite做出响应。但是如果我们通过继承CCSprite类来实现自己的Sprite类的时候,产生的视图尺寸会充满屏幕。多个Sprite在同一层的时候会发生重叠,导致我们通过回调函数传递进的touch点是相对于最上层Sprite来说的。好在我们可以通过CCDirector::sharedDirector()->convertToGL(CCTouch* touch->locationInView());的方法来获得touch point的绝对坐标。然后通过遍历屏幕上所有的spri 阅读全文

coco2d-x精灵类总结

2013-07-23 16:10 by 科悦, 446 阅读, 0 推荐, 收藏, 编辑
摘要:游戏项目中,个人感觉精灵类用的非常多,还是自我总结下把。本文以cocos2d-x 2.1.2版本为例。简单分类:一、单个或数个精灵1,一句话,学会用CCSprite就行了。CCSprite *sprite = CCSprite::create("cardbk.png");2, 想提高效率的用下面这个: CCTexture2D* cache = CCTextureCache::sharedTextureCache()->addImage("cardbk.png"); CCSprite* sprite = CCSprite::createWithTex 阅读全文

Unicode与UTF-8互转(C语言实现)

2013-07-11 16:35 by 科悦, 2060 阅读, 0 推荐, 收藏, 编辑
摘要:>Tags: encoding,c1. 基础1.1 ASCII码我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字节(byte). 也就是说, 一个字节一共可以用来表示256种不同的状态, 每一个状态对应一个符号, 就是256个符号, 从 0000000到11111111.上个世纪60年代, 美国制定了一套字符编码, 对英语字符与二进制位之间的关系, 做了统一规定. 这被称为ASCII码, 一直沿用至今.ASCII码一共规定了128个字符的编码, 比如空格&quo 阅读全文

Linux 各种 signal

2013-06-19 17:24 by 科悦, 6263 阅读, 0 推荐, 收藏, 编辑
摘要:信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还可以传递附加信息。使用kill -l就会显示出linux支持的信号列表。其中列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实 阅读全文

IOS ARC学习笔记

2013-06-17 10:55 by 科悦, 400 阅读, 0 推荐, 收藏, 编辑
摘要:1、环境:编译器LLVM3.0以上,最好ios5,ios4.0有一些限制2、最显著不同,不再使用 retain、release、autorelease,编译器会自动帮你插入,是编译器特性而不是运行时特性(weak指针系统是运行时特性),因此效率大于等于手动管理内存3、原则:“只要还有一个变量指向对象,对象就会保持在内存中。”4、关键词:strong:能保住对象的生命weak:不能保住对象,对象原所有者释放、weak自动变为nil,避免。“摇摆指针”和“zombies”weak指针主要用于“父-子”关系,父亲拥有一个儿子的strong指针,因此是儿子的所有者;但为了阻止所有权回环,儿子需要使用w 阅读全文

Tried to obtain the web lock from a thread解决方法之一

2013-06-14 15:23 by 科悦, 301 阅读, 0 推荐, 收藏, 编辑
摘要:项目中一个UIViewController内使用异步线程,异步线程未执行完时pop退出此画面,程序crash。控制台打出错误如下:Tried to obtain the web lock from a thread other than the main thread...经调查,发现是由于UIViewController的release方法没有在主线程中调用造成的crash,修改方法如下:- (oneway void) release { if (![NSThread isMainThread]) { [self performSelectorOnMainThread:@selector.. 阅读全文