cocos2d 引擎 安卓游戏开发引擎之一cocos2d.orghttp://github.com/ZhouWeikuan/cocos2d
CCAction初步(一)上节:创建精灵,把精灵加到图层当中。1.动作类的基本概念动作类通常不会单独存在。需要作用在精灵、图层等对象上才能发挥作用。包括多种类型,如位移、缩放、旋转。2.动作类的分类方法CCActionCCFiniteTimeAction CCFollow CCSpeedCCActionInstant CCActionInterval(follow、speed是一种逻辑)3.基础瞬时动作使用方法GameLayer继承CCLayer。CCFlipX创建精灵对象和动作对象用精灵对象的runAction方法执行动作,CCFlipYCCHide 隐藏精灵CCShow显示精灵生产动作对象,调用动作的action方法;调用精灵的runAction方法,传入动作对象。4.基础延时动作使用方法有动画执行时间属性CCMoveTo,移动至目标点CGPoint point = CGPoint.ccp(400,400);CCMoveTo moveTo=CCMoveTo.action(3,point);sprite.runAction(moveTo);CCRotateTo,旋转至指定的角度用角度而非弧度。负数逆时针旋转CCScaleTo,缩放至指定的倍数CCBlink,闪烁
1 创建第一个Cocos2d应用程序创建一个Android应用程序生成一个SurfaceView对象,作为Activity当中所显示的内容。得到CCDirector对象,并通过该对象设置应用程序的各种属性。创建资源等。2 设置应用程序基本属性也可以用默认值director.attachInView(mGLSurfaceView)设置应用程序使用的GL视图对象。图形渲染,在哪个view上执行。director.setDeviceOrientation()设置应用程序方向director.setDispleyFPS(true);director.setAnimationInterval(1.0f/30)FPS每秒帧数3 生成场景与布景层(1)创建一个布景层类,继承CCLayer(2)调用CCScene类的node()方法生成场景对象(3)生成布景层对象,并添加至场景对象当中(4)执行场景对象4 运行Cocos2d应用程序(1)创建android程序(2)导入cocos2d相关包,添加到构建路径//生成view对象//使用director对象CCDirector director=CCDirector.sharedDirector();//设置属性,将view传给director//设置FPS值等---30以上流畅。//生成场景对象CCScene scene = CCScene.node();在一个类中定义图层对象-GameLayer-继承CCLayer,加入构造函数。//生成布景层对象GameLayer gameLayer = new GameLayler();//将布景层对象加入到场景中。scene.addChild(gameLayer);//运行游戏director.runWithScene(scene); 例子是左下角不断变化的数字-帧序列
1 Cocos2d项目文件下载托管网站:code.google.comGitHub---很多开源项目托管,Git版本管理工具。最大的程序员社交网站。zhouweikuangit工具,克隆命令下载。zip下载(download zip,20多m)2 Cocos2d项目目录结构关注Cocos2d-Android文件夹3 Cocos2d代码导入cocos2d-android导入到eclipse标准android项目模拟器加速软件。org.cocos2d.test包中是例子,学习资源。4 运行Cocos2d自带的例子运行报错:property去掉is library选项。把jar文件删除--否则编译类(class)文件重复。文档不全,有时需要查源码。
1.什么是Cocos2d引擎游戏引擎-已经编写好的游戏系统的核心组件:渲染引擎物理引擎碰撞监测系统音效系统脚本引擎动画系统人工智能。。。“不要重复发明轮子。”最早,2008年Python语言开发,6月Objective-c开发iPhone版本后续,Net,-HTML5,-JavaScript,-x版本。-x版本使用最广泛,主要用c++本课程使用,Cocos2d同步版本Cocos2-android-1。-android更新慢。2.为什么要使用Cocos2d引擎提高开发效率;降低学习成本;享受社区支持(开源框架,社区活跃)资源:Cocos2d.orgCocos2d-x.orghttps://github.com/ZhouWeiKuan/cocos2d3.Cocos2d引擎特点4.Cocos2d应用程序结构核心结构:导演,控制流程,掌握资源,管理场景。只有一个导演。场景,简单理解-关卡布景层,图层精灵,一切会动的东西核心类:CCDirectorCCSceneCCLayerCCSprite千锋互联:www.1000phone.com千锋3G学院:www.mobiletrain.org千锋嵌入式学院:www.embedtrain.org
1 为什么需要时间调度每隔一段时间要完成一个工作如发射子弹2 schedule()方法的使用参数1,字符串--方法名参数2,间隔时间s传入函数名,间隔时间。字符串表示函数名,java的反射机制。3 delta参数的作用schedule中参数1方法的参数:float delta。delta往往用来表示增量。在这里delta表示上次调用func和这次调用func之间的时间差。4 unschedule()方法的使用 schedule本身不复杂。要和action,和精灵一起配合使用。
1 Android平台触摸时间回顾先考虑单点触摸 motion event 对象 getX(),getY()屏幕左上角为原点Cocos2d,原点在右下。需要坐标转换。2 设置图层接收触摸事件 先对图层进行设置。(有些图层需要接收触摸事件)setIsTouchEnabled()--是否接受点击。3 触摸回调函数 触摸事件:start,end,moved4 触摸点坐标转换 float x = event.getX();得到屏幕宽高?CGPoint p1 = CGPoint.ccp(x,y);CGPonit p2 = CCDirector.sharedDirector().convertToGl(p1);
1 CCFadeIn,CCFadeOut淡入(in)淡出(out)参数:时间(秒)2 CCTintTo(变到),CCTintBy(加上)改变精灵颜色RGB(ccColor3B)ARGB(ccColor4B)3 CCRepeat第一个参数是action对象(包括sequence),第二个参数是重复次数。4 CCRepeatForever
逻辑1 CCSequence的使用方法队列,可以放入很多动作旋转360度原地不动可变长参数2 CCSpawn多个动作对象,一起执行可接收多个参数3 CCCallfuncN回调函数,和CCSequence一起使用。CCCallfuncN func = CCCallfuncN.action(this,"onActionFinished");---执行this对象的onActionFinished方法func作为一个参数传到sque中。清理精灵占用的资源时用得多java的反射机制4.CCFollow后一个精灵跟着前一个精灵
CCAction初步(二)1 什么是向量2 使用CGPoint对象代表向量精灵移动用向量表示,既表示距离又表示方向。3 基于向量的运算加减乘-这里是一个向量乘一个数单位向量-向量的值除以向量的长度,长度为1的向量4 CCMoveBy与CCJumpBy从当前位置按向量偏移移动跳动。
导演-场景-图层-
1. 取消is library2. lib目录下的重复包删除 1.jar构建路径