《黑马软件工程师》 cocos2d游戏引擎复习笔记一

《黑马程序员》 cocos2d游戏引擎复习笔记一
/**
  ----------------------------游戏场景的搭建--------------------------------
1首先创建一个surfaceview ,它可以在子线程中更新UI(全局的)
2然后在oncreate方法中对这个surfaceview进行实例化
3使用setcontentview方法将这个surfaceview对象给设置到界面上显示出来
4获取一个导演
5告诉导演将画面现到surfaceview上
  即让cocos2d和surfaceview对象产生关系相关联
6设置显示帧率
7设置每帧的速率    1.0f/30  以前写成了1/30.0f所以会出现一些差异。现在在这里进行了解决
8创建场景对象
9创建布景层对象,该对象继承cclayer其实它就是图层,精灵和动画其实都是作用在布景层对象中的
   所以这些要在布景层对象中进行创建
10使用场景对象的addChild方法将布景层对象添加到场景对象中
11使用导演的runWithScene方法运行场景对象

----------------------------精灵的添加与使用--------------------------------
添加精灵。在屏幕上绘制一个精灵
动作的分类要重新听一下
要细解

把文件复制到assets文件夹中
然后在cclayer的子类对象中的构造方法中对ccsprite精灵对象进行初始化

我们要先将精灵对象给设置到布景层对象中之后才能为其添加动作

1,在cclayer的子类中定义一个全局的精灵sprite对象
2,在子类的构造方法中对这个精灵对象进行初始化
  使用sprite();  //设置显示的文件名,文件放在assert目录中
3,设置精灵显示的坐标:setPosition(x,y)来进行显示
   也可以使用向量cgpoint对象来进行设置

   注:android的坐标系是以屏幕的左上角为原点,而cocos2d是以屏幕
的左下角为屏幕的原点

4,把精灵对象添加到布景层对象中
  this.addChild();

  需要注意的是:
    我们只有先把精灵给添加到布景层对象中之后才能为其设置动作
  
----------------------------精灵的动作--------------------------------
  ecplise中ctrl+f10设置是否显示

动作:
   翻转:x,y  flip   
   镜像:x,y    ------------
   显示/隐藏:hide/show      
   旋转动画:顺逆时针  rotate    +  顺/ - 逆
   缩放:  +  放大/- 缩小  scale
   跳跃动作:   需要一个新的坐标,和跳跃的高度和跳跃的次数
   平移:moveTo 需要一个新的坐标,即一个源和一个目的

基础的瞬间动作:
   镜像翻转/flip  显示/隐藏  

  CCFlipX  x轴镜像翻转  (水平翻转)---->>>>(100,0) (-100,0)
  CCFlipY  y轴镜像翻转  (垂直翻转)---->>>>(0,100)(0,-100)

   平移:moveTo

	//缩放动作
//动作中缩放的时候这里值指定的是什么了?
//是次数,即要经过3次才会放大15倍。每次放大5倍
CCScaleTo scale=CCScaleTo.action(3, 15);
//让精灵运行动作
sprite.runAction(scale);

  先把精灵给添加到布景层对象中
  然后再定义动作
  然后再使用精灵运行动作

//旋转的动作
//旋转的时长:duration即动作持续的时间
//ang:angle角度
CCRotateTo rotate=CCRotateTo.action(3, 180);
//让精灵运行动作
sprite.runAction(rotate);

//即从a点移动到b点
CGPoint newPoint=CGPoint.ccp(100,150);      
//平移动画
CCMoveTo move=CCMoveTo.action(3, newPoint);
//让精灵运行动作
sprite.runAction(move);

平移动画至少需要两个点:a,b

a:100,100 b:100,150即往上移动了50

a:100,100 b:100,-150 往下移动了150

CGPoint newPoint=CGPoint.ccp(100,250);
//第一个参数为动画的时长,第二个是坐标,第三个为跳跃的高度,第4个为跳跃的次数
CCJumpTo jump=CCJumpTo.action(3, newPoint, 180,2);
//让精灵运行动作
sprite.runAction(jump);

*/