快捷搜索:

Cocos2d-android游戏引擎-介绍

一、游戏引擎概念

什么是游戏引擎
      游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。
Cocos2d家族
cocos2d是一个开源的游戏开发框架,利用它可以非常容易的开发2D游戏。 包括以下成员
Cocos2d-x 
Cocos2d-iphone
Cocos2d-android
本质区别:开发的语言不一样:Cocos2d-x使用c++、Cocos2d-iphone使用Object-C
共同点:api名字基本一致 
我们为什么要使用cocos2d
一款开源的,跨平台,轻量级的2D游戏引擎。
性能良好
广泛的社区支持
拥护很多成功案例。比如捕鱼达人,三国塔防等
使用MIT授权协议。可以自由使用,修改源码,不需要像GPL一样公开源码,可以商用 

二、cocos2d架构



1、CCIntervalAction(延时盛世创富动作)
2、Cocos2d提供的基本延时类动作都提供了ActionTo和ActionBy两种(七种) :
ActionTo是指动作结束的状态,也就是动作的终点。
ActionBy是指动作执行的状态,也就是动作的执行过程。
3、常用的延时动作类包括:
移动动作:CCMoveBy CCMoveTo
缩放动作:CCScaleBy CCScaleTo
旋转动作:CCRotateBy CCRotateTo
跳跃动作:CCJumpBy CCJumpTo
贝赛尔曲线动作:CCBezierBy CCBezierTo
淡入淡出动作:CCFadeBy CCFadeIn CCFadeOut
……


Ⅶ、CCIntervalAction(基本动作)
1、位置变动
移动(move)
弹跳(jump)
贝塞尔曲线运动(Bezier)
渐快(EaseIn)
渐慢(EaseOut)
先渐快后渐慢
特效,先缓冲再加速
正弦曲线速度变化
2、定点变动
缩放(Scale)
旋转(Rotate)
颜色渐变动作(Tint)
闪烁(Blink)
播放序列帧


CCIntervalAction(组合动作)
按顺序执行动作 
同时执行要被执行的动作 
间歇动作(中间暂停指定时间)


Ⅷ、关于CCAction
1、CCAction——移动(CCMoveBy与CCMoveTo)
创建对象:利用CCMoveBy(To).action(float duration, CGPoint pos) 。
参数说明: duration持续时间,pos代表目标点
不同点:①CCMoveBy指定的CGPoint 是相对坐标即相对于当前的需要移动的精灵。 CCMoveTo指定CGPoint 是绝对坐标。② CCMoveBy将reverse()方法进行了处理,而CCMoveTo返回null值。当我们需要实现精灵的反复移动时使用CCMoveBy将很轻松的完成。
应用场景:如游戏过关后会有一个箭头反复提示你前进的路线。首先我们需要使用CCSequence将一组移动的效果添加到一起,实现单次往返,再利用CCRepeatForever实现反复动作。
2、CCAction——弹跳(CCJumpBy与CCJumpTo)
创建对象: CCJumpBy (To).action(float time, CGPoint pos, float height, int jumps)
参数说明: time代表持续时间, pos代表目标点, height代表回落高度,jumps代表跳动次数
区别: CCJumpBy将 reverse()方法进行了处理,可以用于实现重复动作;
应用场景:
3、CCAction——贝塞尔曲线运动(CCBezierBy)
创建对象:CCBezierBy(To).action(float t, CCBezierConfig c)
参数说明: t代表持续时间, c曲线参数, CCBezierConfig.controlPoint_1起始点、CCBezierConfig.controlPoint_2顶点、CCBezierConfig.endPosition终点
应用场景:子弹,pvz中屋顶关卡
 4、CCAction——渐快(CCEaseIn)
对象创建:CCEaseIn.action(CCIntervalAction action, float rate)
参数说明: action被控制的动作, rate加速度,如果为1就匀速了 
渐慢:CCEaseOut与CCEaseIn参数一致,动作相反
5、CCAction——缩放(CCScaleBy与CCScaleTo)
创建对象:CCScaleBy(To).action(float t, float s)
参数说明:t代表持续时间,s代表缩放比例
区别: CCScaleBy将 reverse()方法进行了处理,可以用于实现重复动作
应用场景:心跳
6、CCAction——旋转(CCRotateBy与CCRotateTo)
创建对象:CCRotateBy(To).action(float t, float a)
参数说明:t代表持续时间,a代表旋转角度
区别:① CCScaleBy将 reverse()方法进行了处理,可以用于实现重复动作;② CCRotateTo以最便捷的方式旋转到指定角度,如旋转角度为300时,使用CCRotateTo来实现的话会逆时针旋转60度
应用场景:进度条旋转、旗子的左右摆动等
特别注意:旋转动作是沿着锚点完成的,所以需要结合锚点统一协调旋转动作
7、CCAction——颜色渐变动作(CCTintBy与CCTintTo)
创建对象: CCTintBy(To). action(float t, ccColor3B c)
参数说明:t:时间间隔, c:RGB三色值封装对象
区别:① CCTintBy对reverse()方法实现;② CCTintBy需要设置的RGB三色值是相对值,即相对于当前的RGB值进行变动。
应用场景
8、CCAction——闪烁(CCBlink)
对象创建:CCBlink.action(float t, int b)
参数说明:t间隔时间,b闪烁次数
9、CCAction——播放序列帧 
播放序列帧
CCAnimation加载
CCAnimate
如果要停止播放,可以采用stopAction 
10、CCAction——连续动作CCSequence
对象创建:CCSequence.actions(CCFiniteTimeAction action1, CCFiniteTimeAction... actions)
对象说明:用于按顺序执行一连串动作
11、CCAction——并发动作CCSpawn
对象创建:CCSpawn.actions(CCFiniteTimeAction action1, CCFiniteTimeAction... params)
参数说明:指定一连串动作同时触发,如在跳跃过程中执行一个翻转动作。
12、CCAction——间歇动作(CCDelayTime)
对象创建:CCDelayTime. action(float t)
参数说明:t 停止时间
13、即时动作(CCInstantAction)
瞬时动作:就是不需要时间,马上就完成的动作。
Cocos2d提供以下瞬时动作:
放置 – Place效果类似于 node.Position = ccp(x, y)。之所以作为一个动作来实现是为了可以与其他动作形成一个连续动作。
隐藏 – Hide效果类似于 [node setVisible:NO]. 之所以作为一个劢作来实现是为了可以与其他动作形成一个连续动作。
显示 – Show效果类似于 [node setVisible:YES]. 之所以作为一个动作来实现是为了可以与其他动作形成一个连续动作。
可见切换 – ToggleVisibility
14、CCAction——显示隐藏
可见性(CCHide与CCShow )
对象创建:调用action方法即可,无参数
15、CCAction——无限动作CCRepeatForever
无限制的执行一个延时动作,通常用于连续执行一连串的重复动作,这些动作多放置在CCSequence中进行定义。


Ⅸ、CocosDenshion Audio声音引擎
SoundEngine处理声音
声音类型:音乐和音效
可以从长短上来做区分,音乐一般用于游戏的背景声音,音效主要是短小的声音,如植物发射子弹,僵尸吃植物时发出的声音
声音控制,如播放、暂停、声音大小调节、静音
通过缓存音乐和音效文件来提高声音处理的效率

Ⅹ、总结

讲了这么多的cocos2d游戏引擎的API,是不是感到有些枯燥啦。好的,接下来我给大家利用这些API设计一个小Dome

欲知Dome如何,且看下篇博文。。。










http://www.bkjia.com/Androidjc/770780.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/770780.htmlTechArticle一、游戏引擎概念 什么是游戏引擎 游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统...

本文源自: AG88环亚

您可能还会对下面的文章感兴趣: