这方面的内容, 还不是很全面, 现在我的重心是在应用方面, 游戏还没有学太多.

1.iOS加载应用程序的时候会使用 "Default.png",  "Icon.png"则用作应用程序的图标; "fps_p_w_picpaths.png"是 cocos2d 用来显示帧率的, 即每秒显示的帧数: 你不能删除或者修改此图片; "info.plist"文件包含了一些与应用程序相关的配置信息, 你只需要在快要发布应用时才修改这些配置信息.

2."_prefix.pch"头文件的作用是给编译过程加速; 应该把不常变化的框架(Frameworks)头文件添加到前缀头文件(prefix header)中.这样在编译的时候, 框架的代码会被预先编译, 所有的类都将可以使用这些头文件.
3. "AppDelegate"类: 用于处理程序的全局事件和状态变化; "HelloWorldScene"类: 包含了所有用于显示Hello World标签的代码.
 AppDelegate通过在某些时间点从iOS接收信息来跟踪程序的状态变化; 程序开始运行后收到的第一个信息是 applicationDidFinishLaunching
 AppDelegate中dealloc方法不会被调用, 当iOS关闭一个程序时, 它只是简单的把内存清空, 以加快关闭的速度.
4.单例
 单例是在程序生命周期里只被实例化过一次的类, 为了确保这一点, 需要利用类的一个静态(类)方法(以"shared"开头的)来生成和访问对象
 最常用到的cocos2d 单例类和访问它们的方法:
   CCActionManager *sharedManager = [CCActionManager sharedManager];
   CCDirector *sharedDirector = [CCDirector sharedDirector];
   CCSpriteFrameCache *sharedCache = [CCSpriteFrameCache sharedSpriteFrameCache];
   CCTextureCache *sharedTexCache = [CCTextureCache sharedTextureCache];
   CCTouchDispatcher *sharedDispatcher = [CCTouchDispatcher sharedDispatcher];    
   CDAudioManager *sharedManager = [CDAudioManager sharedManager];
   SimpleAudioEngine *sharedEngine = [SimpleAudioEngine sharedEngine];
 MyManager类实现单例
   static MyManager *sharedManager = nil;
   +(MyManager*) sharedManager
   {
      if (sharedManager == nil) {
          sharedManager = [[MyManager alloc] init];
      }
      return sharedManager;
   }
5.CCDirector (导演)
 Director的用处:
   1)访问和改变场景
   2)访问cocos2d的配置细节
   3)访问视图(OpenGL,UIView,UIWindow)
   4)暂停,恢复和结束游戏
   5)在UIKit和OpenGL之间转换坐标
 Director的类型:
   1)CCDisplayLinkDirector        // 最好的选择, 只支持iOS 3.1以上的版本
   2)CCFastDirector
   3)CCThreadedFastDirector    // 可以让Cocoa Touch视图和cocos2d一同工作, 但很耗电
   4)CCTimerDirector        // 最慢的
6.CCNode
 所有节点的基类都是CCNode类, 它包含了位置信息, 但是没有显示信息.它是所有其他节点类的父类, 包括两个最基本的类: CCScene和CCLayer.
 常用的类:
 1)CCLayer:
   CCMenu
 2)CCScene:
   CCTransitionScene
 3)CCSprite:
   CCLabelTTF
 常用方法:
 1) CCNode *childNode = [CCNode node];        // 生成一个新节点, 使用类似这种方法创建的对象, 都带有自动释放功能
 2) [myNode addChild: childNode z: tag: ]    // 添加子节点; z值越小的节点会被首先绘制; 多个节点拥有相同的z值, 他们的绘制顺序将由他们的添加顺序来决定; 这个规则只适用于像sprites那样有视觉表现的节点。
 3) [myNode getChildByTag: ]            // 获取子节点, 动作(Action)和节点(Action)的tag值不会冲突
 4) [myNode removeChildByTag: cleanup:YES];    // 通过tag删除子节点, cleanup会停止任何运行中的动作
 5) [myNode removeChild: ]            // 删除子节点
 6) [myNode removeAllChildrenWithCleanup: ]    // 删除所有的子节点
 7) [childNode removeFromParentAndCleanup: ]    // 从childNode的父节点删除childNode
 节点可以预定信息, 即每隔一段时间调用一次方法
 -(void) scheduleUpdate
 [self schedule:selector() interval: ]
 [self unschedule: _cmd];            // _cmd关键字是当前方法的缩写
 [self scheduleUpdateWithPriority: ]        // priority值越小(可以有负值), 将被首先执行, 默认值为0,
7.场景和层
 场景图(场景层级)是由所有目前活跃的cocos2d节点所组成的一个层级图, 除了场景本身, 每一个节点只有一个父节点, 但是可以有任意数量的子节点; 当你将节点添加到其它节点中时, 你就在构建一个节点场景图; 你对一个节点施加的影响将会影响到它的所有子节点
 CCNode, CCScene和CCLayer这些类是没有视觉表现的, 它们是在内部作为场景图的抽象概念来使用的, CCLayer最典型的应用是把各个节点组织起来, 还有接收触摸输入和加速计输入的信息
 CCScene是一个抽象的概念, 它的功能是根据像素坐标把物体放置在场景里相应的地方, CCScene对象总是场景图里面的第一个节点, 通常CCScene的子节点都是继承自CCLayer
 CCLayer包含了各个游戏对象, 因为大多数情况下场景对象本身不包含任何游戏相关的代码, 而且很少被子类化, 所以它一般都是在CCLayer对象里通过+(id)scene这个静态方法来创建的
 [[CCDirector sharedDirector] runWithScene:[HelloWorld scene]];    // 设置运行的第一个场景
 [[CCDirector sharedDirector] replaceScene:[HelloWorld scene]];    // 替换以后需要变换的场景
 [[CCDirector sharedDirector] pushScene:[Settings scene]];        // 显示一个新的场景
 [[CCDirector sharedDirector] popScene];                // 回到之前还保存在内存中的场景
8.CCTransitionScene
 CCFadeTransition* tran = [CCFadeTransition transitionWithDuration:1 scene:[HelloWorld scene] withColor:ccWHITE];    
   // 淡入淡出场景, 在1s中内过渡为白色
 [[CCDirector sharedDirector] replaceScene: tran]            // 使用过渡场景对象
 1)CCFadeTransition: 淡入淡出到一个指定的颜色,然后回来。
 2)CCFadeTRTransition (还有另外三个变化): 瓦片(tiles)反转过来揭示场景。
 3)CCJumpZoomTransition: 场景跳动着变小,新场景则跳动着变大。
 4)CCMoveInLTransition (还有另外三个变化): 场景移出,同时新的场景从左边,右边,上方或者下方移入。
 5)CCOrientedTransitionScene (还有另外六个变化): 这种过渡效果会将整个场景翻转过来。
 6)CCPageTurnTransition: 翻动书页的过渡效果。
 7)CCRotoZoomTransition: 当前场景旋转变小,新的场景旋转变大。
 8)CCShrinkGrowTransition: 当前场景缩小,新的场景在其之上变大。
 9)CCSlideInLTransition (还有另外三个变化): 新的场景从左边,右边,上方或者下方滑入。
10)CCSplitColsTransition (还有另外一个变化): 将当前场景切成竖条,上下移动揭示新场景。
11)CCTurnOffTilesTransition:将当前场景分成方块,用分成方块的新场景随机的替换当前场景分出的方块。
9.CCLayer
 CCLayer类本身并不做什么, 它的功能是允许触摸和加速计的输入, 因为大多数游戏会接受基本的触摸输入, 所以CCLayer通常是第一个被加入CCScene的类.
 1)当手指首次触摸到屏幕时调用的方法:
   -(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent*)event
 2)手指在屏幕上移动时调用的方法:
   -(void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent*)event
 3)当手指从屏幕上提起时调用的方法:
   -(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent*)event
 4)当触摸事件被取消时调用的方法: (不常用)
   -(void) ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent*)event
 触摸事件是由Cocoa Touch API接收的, 所以触摸位置必须被转换为OpenGL坐标
   CGPoint touchLocation = [[touches anyObject] locationInView: [touch view]];
   [[CCDirector sharedDirector] convertToGL:touchLocation];
 self.isAccelerometerEnabled = YES;        // 激活加速计后可以接收加速计事件
 // 使用下面的方法, 来接受加速计事件
 -(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
 // acceleration有三个属性, acceleration.x, acceleration.y, acceleration.z
10.CCSprite
 使用图片把精灵(sprite)显示在屏幕, 生成精灵最简单的方法是把图片文件加载进CCTexture2D材质里面, 然后将它赋给精灵, 精灵的中心点和左下点是重合的, 精灵中只能看到贴图的右上部分, 1/4贴图的大小
 CCSprite *sprite = [CCSprite spriteWithFile:@"Default.png"]; [self addChild:sprite];
 sprite.anchorPoint = CGPointMake(0.5, 0.5);        // 定位点, 只有当此节点有贴图的时候, 这个定位点才有用, 定位点里面的值是一个抽象的因素(乘数, 而不是像素), 改变定位点的时候, 改变的是贴图的位置, 而不是精灵的位置, 定位点是贴图在精灵左下角的位置, 默认是中间
11.CCLabelTTF
 label.position    label.anchorPoint
12.CCMenu
 CCMenu只支持CCMenuItem节点(CCMenuItemSprite, CCMenuItemToggle, CCMenuItemLabel, CCMenuItemImage, CCMenuItemAtlasFont)作为它的子节点
 [CCMenu menuWithItems: ]            // 用菜单项生成菜单
 [menu alignItemsVerticallyWithPadding:40];    // menu的对齐方式
13.CCAction
 节点可以运行动作:
 CCAction *action = [CCBlink actionWithDuration: blinks: ];    // 声明一个动作
 action.tag
 [myAction runAction: action]            // 运行这个动作会让节点闪烁
 [myNode getActionByTag: ]            // 用tag获取action
 [myNode stopActionByTag: ]            // 用tag停止相关联的动作
 [myNode stopAction:action]            // 停止相关联的动作
 [myNode stopAllActions]            // 停止此节点上运行的所有动作
 CCMoveTo    CCRotateBy    CCRepeatForever        
 CCEaseAction(舒缓动作, 改变一段时间内的动作效果)
   1)CCEaseBackIn, CCEaseBackInOut, CCEaseBackOut
   2)CCEaseBounceIn, CCEaseBounceInOut, CCEaseBounceOut
   3)CCEaseElasticIn, CCEaseElasticInOut, CCEaseElasticOut
   4)CCEaseExponentialIn, CCEaseExponentialInOut, CCEaseExponentialOut
   5)CCEaseIn, CCEaseInOut, CCEaseOut
   6)CCEaseSineIn, CCEaseSineInOut, CCEaseSineOut
 CCSequence    // 动作序列, 将一组动作添加到动作序列中, 可以一个动作跟着一个动作的执行
 CCInstantAction(即时动作)
   CCCallFunc    // 不带参数
   CCCallFuncN:    // 参数为NODE型指针
   CCCallFuncND:    // 参数为NODE和DATA
   CCCallFuncNO:    // 参数为NODE和CCObject