作者:
cls分享站
这次我们讨论一下CitrusEngine的2D动画和摄像头。关于动画,基本上支持Starling的 都可以在CitrusEngine使用,不过CitrusEngine简化了操作步骤而已.这里我将介绍三种方式来创建Citrus的2D动画
灰色是平台(Platform),黄色是钱币(coin),蓝色是英雄(hero),红色是敌人(Enemy)
http://www.chenlinsheng.com/?p=463
这里我们先给Enemy设置默认的活动范围(敌人默认会在leftBound, rightBound设置的范围内来回走动直到遇到障碍物返回,如Platform)
http://www.chenlinsheng.com/?p=463
现在我们来开始会角色创建动画:
1.使用swf动画 这个是最简单的动画创建方案,做法就是将swf作为游戏元素的view。如我们可以这样给coin设置动画
1)创建coin.fla,创建一个影片剪辑元件coin_anim,做一个简单的帧动画
http://www.chenlinsheng.com/?p=463
2)将元件拉入舞台,并将其大小设置为50*50,这个是为了与Level2.fla设置的coin大小一致。至于其他的,如坐标和coin.fla的舞台大小和背景色等无关紧要,可以随意设置
3)最后在Level2.fla中coin的view上填写coin.swf的路径,谨记路径是相对于flex项目。呵,是不是与上一篇教程设置英雄的view的时候一模一样~
http://www.chenlinsheng.com/?p=463
2.使用Sprite Sheet的位图序列来构建动画 在Starling中一般使用Sprite Sheet的位图序列来构建动画,其实在我的 系列教程二 中正是使用这个方法给英雄添加动画的,不过那个时候我没有讲如果通过flash cs创建位图和xml。现在我们来看看怎么通过 flash cs 来给我们的英雄(hero)创建Sprite Sheet的位图。
a.首先,我们需要知道hero有以下几种动画:走路(walk),死亡(die),跳跃(jump),受伤(hurt),闲置(idle),闪避(duck)等,而我们需要做的是 为这些动画创建相应的影片剪辑将其作为库元件,当然我们可以根据需要之创建必要的动画,如本教程只创建了walk,idle,jump。以下库元件jump(跳跃)的截图:
http://www.chenlinsheng.com/?p=463
注意:需要新建一层在第一帧标记一个“jump”的标签。
b.创建相关动画后,我们可以在库文件选中并右键导出Sprite Sheet
http://www.chenlinsheng.com/?p=463
以下是我导出时候的参数设置:
http://www.chenlinsheng.com/?p=463
这样子我们就得到了一张Sprite Sheet的位图序列和xml文件,接下来我们可以通过Embed嵌入使用: http://www.chenlinsheng.com/?p=463
那么接下来使用方法和 系列教程二 一样 3.通过龙骨(Dragon Bones )创建骨骼动画(=》官方中文教程) DragonBones是一套开源的 2D骨骼动画框架和工具,它包含了基于Flash Pro的骨骼动画编辑面板DragonBonesDesignPanel及骨骼动画ActionScript框架。它可以让开发者运用熟悉的Flash Pro元件及时间轴编辑方式,快速创建2D骨骼动画,并运用到Flash或其他技术的应用中。 Features
easing:MathVector=null, cameraLens:MathVector=null):ACitrusCamera快速的设置摄像头的相关属性。以下是对该方法参数的介绍:
这次我们讨论一下CitrusEngine的2D动画和摄像头。关于动画,基本上支持Starling的 都可以在CitrusEngine使用,不过CitrusEngine简化了操作步骤而已.这里我将介绍三种方式来创建Citrus的2D动画
- 使用swf动画
- 用Sprite Sheet的位图序列来构建动画
- 通过龙骨(Dragon Bones )创建骨骼动画(=》官方中文教程)
灰色是平台(Platform),黄色是钱币(coin),蓝色是英雄(hero),红色是敌人(Enemy)
http://www.chenlinsheng.com/?p=463
这里我们先给Enemy设置默认的活动范围(敌人默认会在leftBound, rightBound设置的范围内来回走动直到遇到障碍物返回,如Platform)
http://www.chenlinsheng.com/?p=463
现在我们来开始会角色创建动画:
1.使用swf动画 这个是最简单的动画创建方案,做法就是将swf作为游戏元素的view。如我们可以这样给coin设置动画
1)创建coin.fla,创建一个影片剪辑元件coin_anim,做一个简单的帧动画
http://www.chenlinsheng.com/?p=463
2)将元件拉入舞台,并将其大小设置为50*50,这个是为了与Level2.fla设置的coin大小一致。至于其他的,如坐标和coin.fla的舞台大小和背景色等无关紧要,可以随意设置
3)最后在Level2.fla中coin的view上填写coin.swf的路径,谨记路径是相对于flex项目。呵,是不是与上一篇教程设置英雄的view的时候一模一样~
http://www.chenlinsheng.com/?p=463
2.使用Sprite Sheet的位图序列来构建动画 在Starling中一般使用Sprite Sheet的位图序列来构建动画,其实在我的 系列教程二 中正是使用这个方法给英雄添加动画的,不过那个时候我没有讲如果通过flash cs创建位图和xml。现在我们来看看怎么通过 flash cs 来给我们的英雄(hero)创建Sprite Sheet的位图。
a.首先,我们需要知道hero有以下几种动画:走路(walk),死亡(die),跳跃(jump),受伤(hurt),闲置(idle),闪避(duck)等,而我们需要做的是 为这些动画创建相应的影片剪辑将其作为库元件,当然我们可以根据需要之创建必要的动画,如本教程只创建了walk,idle,jump。以下库元件jump(跳跃)的截图:
http://www.chenlinsheng.com/?p=463
注意:需要新建一层在第一帧标记一个“jump”的标签。
b.创建相关动画后,我们可以在库文件选中并右键导出Sprite Sheet
http://www.chenlinsheng.com/?p=463
以下是我导出时候的参数设置:
http://www.chenlinsheng.com/?p=463
这样子我们就得到了一张Sprite Sheet的位图序列和xml文件,接下来我们可以通过Embed嵌入使用: http://www.chenlinsheng.com/?p=463
那么接下来使用方法和 系列教程二 一样 3.通过龙骨(Dragon Bones )创建骨骼动画(=》官方中文教程) DragonBones是一套开源的 2D骨骼动画框架和工具,它包含了基于Flash Pro的骨骼动画编辑面板DragonBonesDesignPanel及骨骼动画ActionScript框架。它可以让开发者运用熟悉的Flash Pro元件及时间轴编辑方式,快速创建2D骨骼动画,并运用到Flash或其他技术的应用中。 Features
- 动画基于Flash pro时间轴,可以使用Flash传统动画方式制作游戏动画;
- 骨骼绑定可以让动画更精准,更真实自然,并可通过程序动态控制;
- 可设置单个骨骼的动画时间缩放和延时播放,使用较少的关键帧就可以表现复杂生动的动画效果;
- 动画各部分采用拼接方式,动画有缓动补间,占用位图/内存资源少;
- 骨骼显示对象与骨骼的逻辑分离,可在不影响动画播放的情况下动态更换;
- 能方便用于传统DisplayList、Starling及其他技术的2D应用。
easing:MathVector=null, cameraLens:MathVector=null):ACitrusCamera快速的设置摄像头的相关属性。以下是对该方法参数的介绍:
- target:摄像头的目标,如将其设置为hero,摄像头将随着hero的运动而运动
- offset:设置目标运动时候,目标左上角的区域,如将其设为MathVector(0,0)且如果你的场景足够大,你会发现你的目标运动的时候左边没有空余的距离,即你向右跑的话,你看不到你身后的物体,除非你右边显示区域已经没有已经到头~
- bounds:相机显示区域,这个教程我们设置为Level2.swf的大小
- easing:在x和y上摄像头跟随目标变化的速率,数值越小变化越慢,最大不能超过1,当设置为0,摄像头不会移动