AnchorPoint锚点:
1. CGPoint 有x和y的坐标。锚点是在0.0f-1.0f之间,缺省为0.5-0.5. ccp(0.5,0.5)。 使用的数学系的坐标,左下角为0.0-0.0, 0.5-0.5 就是在中心。
锚点就是一个小数,Position就是图片的大小乘以锚点的小数的值(也使用数学系坐标)。
2. 锚点和图片的等比例变大。图片变大会根据锚点等比例变化,如果锚点在(0.5,0.5)则图片向上下左右变大。
CCMenu菜单:
1. CCMenu继承于CCLayer,CCLayer继承于CCNode。
2. CCMenuItem继承于CCNode。
3. CCMenuItemSprite可以放任何图片或自己画的图片。
CCAction精灵运动:
1. 类的层次 CCAtion->CCFiniteTimeAction->CCActionInterval->CCJumpTo/by 调到绝对路径/相对路径 CCMoveTo/By 移动 CCRotateTo/By 旋转
2. 函数调用 CCCallFunc->CCCallFuncN 有一个参数CCNode
3. 在CCJumpTo中 +(id)actionWithDuration:(CCTime)t position:(CGPoint)pos height:(cctime)h jumps:(NSUInteger)j ;
4. 在CCMoveTo中,+(id)aciotnWithDuration:(ccTime)t position:(CGPoint)p; 直线移动,到p的时间。在移动过程中精灵的坐标是会变的。
5. 在CCCallFuncN中,+(id)actionWithtarget:(id)t selector:(SEL)s;
5. 在CCNode中的运动方法,-(CCAtion*)runAciton:(CCAtion*)action; -(void)stopAllActions;
粒子特效:
1. CCParticleSystem粒子特效的基类。CCparticleSystemQuad常用的子类,有很多的子类,CCParticleSnow,CCParticleFire...
2. 系统自带的粒子特效:CCParticleExplosion 爆破粒子效果 CCParticleFireworks 烟花粒子效果
3. CCTextureCache 管理纹理的管理器。 添加图片。
4. 使用缺省粒子特效 [CCParticleSnow node].
5. 使用粒子设计器产生plist。 使用ARCH_OPTIMAL_PARTICLE_SYSTEM particleWithFile:@"". 网上出售的粒子特效,就是用来产生plist文件。
剧场动画切换:
1. CCTransitionScene 剧场切换方法
2. CCTransitionSplitCols 竖向动画
3. CCTransitionSplitRows 横向动画
4. CCTransitionRadialCCW 雷达效果
5. CCTransitionTurnOffTiles 小格子动画
6. CCTrandsitionSlideInL 左移效果
游戏关卡设置:
1. 通关数据保存,CCLabelTTF控件使用
2. CCNode 添加一个孩子类,addChild:z:。 添加 孩子的时候,可以添加一个z坐标,用来表示图层。
cocos 2D坐标转换:
1. UIView的坐标系统,从左上角向右为X正向,向下Y正向。 从横屏来看,从左下角看是,向上为X正向,向右为Y正向。
2. OpenGL的坐标系统,与数学坐标一样。向右为X正向,向上为Y正向。 笛卡尔系统。
3. 世界坐标,左下角为原点。向右向上为正。xy都为正。 iphone首先拿到的坐标是uiview坐标。
4. 对象窗口内的坐标,左下角为原点。向右向上为正。如layer的坐标。xy都为正。 CCNode 就是当前对象self的坐标。
5. 基于锚点的窗口内的坐标,窗口基于锚点(x,y)的笛卡尔坐标系(此时原点为锚点),坐标x向右为正,y向上为正。x,y可以为负数或正数及0.
6. IOS view到OpenGL坐标转换,[[CCDirector sharedDirector] convertToGL:location]; 把OpenGL坐标转换成UIVIew坐标:-(CGPoint)convertToUI:(CGPoint)glPoint;
7. ccTounches触摸系列: CCStandardTouchDelegate标准代理函数。
8. CCTouch触摸系列: CCTargetedTouchDelegate代理函数。
9. CCNode -- (CGRect)boundingBox; 经过缩放和旋转后的大小。
布置精灵:
1. 游戏类层次关系,GameLayer, spriteBase基类。 pig, ice, bird
2. 使用数据源进行关卡的设置。
OpenGL ES画线:
1. glColor4f 设置颜色。
事件机制:
1. 标准事件 @protocol CCStandardTouchDelegate 特有事件 @protocol CCTargetedTouchDelegate
2. glView/UITouch -> CCTouchDispatcher -> CCNode 事件的传递
3. 增加标准事件,-(BOOL)isTouchEabled;
Box2物理引擎:
1. 从微软开发中获取,都是使用C++编写。物理引擎就是解决游戏中的物理规律的变化。
2. 宇宙平衡世界,可见 Cocos2D 480*320 不可见Box2D 15米*10米
3. b2world:box2d的世界。有很多的b2body,即刚体。 里面有很多的b2Fixture。b2Fixture包含各种属性,b2Shape。
4. ballBodyDef.bullet = yes; 子弹效应。
物理世界的模型:
1. Box2D模拟原理,就是通过原理来模拟下一时刻的世界。
2. 都是用C++来实现的啊。
3. 定义一个b2world的对象。
4. 创建地板,b2BodyDef
5. 创建地板的一个刚体b2Fixture。
碰撞测试:
1. b2Contact 2个形状之间的碰撞。 可以获取2个形状shape的物理Fixture。
2. b2ContactListener 监听。
3. Solver解算子。Begin, End.
4. postSolver, 在solver计算完成后调用的函数。