转载 csdn kakashi8841 http://blog.csdn.net/kakashi8841/article/details/17599505

Animation Clip

一个animation clip是可重用的帧集合,它以给定的帧率显示sprite。每一帧包含的texture和可选事件。

可通过菜单栏“Uni2D > Create > Animation Clip”创建一个Animation Clip。

 

Animation Clip Inspector

Atlas 部分

设置 描述
Use Atlas 这个animation clip全局的atlas。使用这个去为animation clip的所有帧设置相同的atlas。留它为None则会在每个animation clip帧选择指定的atlas。
Maximum Atlas Size 全局atlas的最大大小。只有在全局atlas设置的时候这个才可见。

Clip header部分

设置 描述
Animation clip preview 鼠标悬停在纹理上面可以有个快速预览动画
Frame Rate animation clip的帧率,单位是FPS。如果你想要反转动画,你可以设置这个值为负数。
Wrap Mode 这个设置描述了animation clip以怎样的方式循环。和Unity内建的wrap mode很像:

  • Loop:从第一帧播放到最后一帧,然后回到第一帧继续播放。
  • Ping-Pong:从第一帧播放到最后一帧,然后从最后一帧播回最后一帧。
  • Once:只播放一次,并停在一帧,它是主帧,不一定是动画的第一帧。
  • Clamp Forever:从第一帧播放到最后一帧,并停在最后一帧。

Frame部分

设置 描述
点击这两个按钮分别是上移和下移本帧
点击这两个按钮分别是在本帧上面和下面添加帧
点击这个按钮删除本帧
Frame Texture 这一帧使用的Texture。None也是合法的。
Use Atlas 这个atlas用于帧texture。只有在没指定了global atlas的时候,这个才是可见的。
Trigger Event 勾选这个复选框,如果你想要Uni2D能在这显示此帧的时候触发事件。更多信息请看Animation API部分。
Frame Infos 自定义本帧附加的信息。代表性的一个用法是这个可以作为事件数据。你能指定一个字符串,int,float或一个Unity对象。更多信息请看Animation API部分。

Action部分

设置 描述
Add frame 在Animation Clip结尾增加新的帧
Apply 点击应用设置。由于生产一个animation clip会花费一定时间,所以不要在每次一有改变的时候就应用。
Revert 取消你的改变
Force Clip Regeneration 重建atlas

嵌入的播放器部分

在这个子窗口,你能预览动画,并使用更多的回放控制。

Animation API

Uni2D提供一些基础方法用于管理你的动画。这些animation API虽然是C#的,不过JavaScript也可以使用。

Uni2DSprite类有一个SpriteAnimation属性,它返回一个Uni2DSpriteAnimation对象的引用。这个对象控制sprite的animation。

属性/方法 描述
bool playAutomatically 决定动画是否在sprite awake之后自动播放
Uni2DSprite Sprite(只读) 这个对象正在渲染的sprite
Uni2DAnimationClip.WrapMode WrapMode animation怎样循环(看Animation Clip的Inspector)
float FrameRate animation clip的帧率。使用这个修改动画播放的方式。负数会反转动画
int FrameCount 当前animation包含了多少帧。这个数量取决于当前animation clip和当前的wrap mode。例如,一个10帧的animation clip,如果是Ping-Pong的wrap mode,它的frame count是18
int FrameIndex 当前绘制帧的索引
Uni2DAnimationFrame Frame(只读) 当前帧
float Time 当前animation的播放时间在0到animation的长度之间。
float NormalizedTime 当前动画播放时间,规范化在0到1之间。
float Speed 使用speed属性控制animation的播放速度。这个将让animation time走的更慢或更快,取决于你选择的参数。你能设置到0来冻结它,-1来往后播放等等。
float Length(只读) 当前播放的animation clip的长度
string Name(只读) 当前播放的animation clip的名字
int CurrentClipIndex(只读) 当前播放的animation clip的索引
Uni2DAnimationClip Clip(只读) 当前播放的animation clip
int ClipCount(只读) 附加到sprite上有多少个animation clips
bool Paused 如果设置为true则暂停animation。设置为false则恢复动画。
void Pause() 暂停动画
void Resume() 恢复动画
void Play() 从头播放当前选择的animation(默认选中的animation clip是在Sprite的Inspector的Start Clip Index值设置的)
void Play(string clipName) 从头播放名字为clipName的clip。它必须已经通过手动或调用方法加到sprite上的,否则没有任何效果。
void Play(int clipIndex) 从头播放第clipIndex个clip。如果索引不对,则没有任何效果。
int GetClipIndexByName(string clipName) 返回名字为clipName的animation clip 的索引。如果没有这个名字的clip,则返回-1
void Stop(bool resetToMainFrame=true) 停止当前动画。如果可选参数设置为false(默认是true),则sprite不会显示它的主texture,而是保持当前动画帧的texture。

Animation Events

有两种类型的事件能被animation触发:end animation event和frame animation event

End Animation Event

自动在动画或者loop结束触发。

回调方法签名:void OnAnimationEndEvent(Uni2DAnimationEvent a_oAnimationEvent)

委托:Uni2DSpriteAnimation.onAnimationEndEvent

例子:sprite.spriteAnimation.onAnimationEndEvent += myCallbak;

Frame Animation Event

触发每一帧triggerEvent参数(Animation Clip的Inspector中)设置为true的。

回调方法签名:void OnAnimationFrameEvent(Uni2DAnimationFrameEvent a_oAnimationFrameEvent);

委托:Uni2DSpriteAnimation.onAnimationFrameEvent

例子:sprite.spriteAnimation.onAnimationFrame += myCallbak;

给出的Uni2DAnimationFrameEvent对象允许你访问触发事件的frame。值得注意的是,用户定义的帧信息能从这个event中访问到。

例如,a_oAnimationFrameEvent.frame.eventInfos.stringInfo

Uni2D 入门 -- Animation Clip 和 Animation API的更多相关文章

  1. Uni2D —— 入门(全)

    Uni2D 入门 Uni2D 入门 -- Atlas Uni2D 入门 -- Animation Clip 和 Animation API Uni2D 入门 -- Skeletal Animation ...

  2. Uni2D Unity4.3 2D Skeletal Animation

    http://www.cnblogs.com/zhaoqingqing/p/3602253.html 中文教程:参照 kakashi的CSDN博客 http://blog.csdn.net/kakas ...

  3. Android Animation学习(一) Property Animation原理介绍和API简介

    Android Animation学习(一) Property Animation介绍 Android Animation Android framework提供了两种动画系统: property a ...

  4. Unity中有两种Animation Clip

    http://blog.csdn.net/zzxiang1985/article/details/51291861 在Unity中,我们有两种方法创建Animation Clip. 一种(后面简称方法 ...

  5. Unity3D中通过Animator动画状态机获取任意animation clip的准确播放持续时长

    Unity3d 4及之前的版本中动画的播放用的animation,可直接获取其播放持续长度.但5.x及以后的版本中都是用animator来播放动画了. https://docs.unity3d.com ...

  6. Split Animation Clip From FBX and Multiply Mode Sprite

    Use Script To Creat 2D Animation Clip From Multiply Mode Sprite 很多时候美工拿过来的一张序列帧图片,我们需要转换成 Multiply M ...

  7. Uni2D入门

    转载 http://blog.csdn.net/kakashi8841/article/details/17558059 开始 Uni2D增加了一些新的便利的特性给Unity,它们用于推动你2D工作流 ...

  8. (手冊)Animation 之 使用Animation View

    观看游戏物体上的动画(Viewing Animations on a GameObject) Animation View 是与 Hierarchy View.Scene View和Inspector ...

  9. Android动画View Animation与Drawable Animation

    Animations 一.Animations介绍 Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转.缩放.淡入淡出等, ...

随机推荐

  1. 闭包 -> 函数的嵌套

    内层函数对外层函数中的变量的使用 好处: 1. 保护变量不被侵害 2. 让一个变量常驻内存 如何通过代码查看一个闭包 __closure__: 有东西就是闭包. 没东西就不是闭包 # 闭包的优点: # ...

  2. 关于elment-ui树形控件Tree的使用

    如果简单使用的tree树形控件,按照Element ui Tree 树形控件 官方文档使用即可,基本上能够完成大部分的需求. 但是如果需要对树形结构进行额外操作,仅仅根据官方文档提供的方案的话,可能就 ...

  3. BZOJ2321 [BeiJing2011集训] 星器

    2321: [BeiJing2011集训]星器 Time Limit: 1 Sec  Memory Limit: 128 MB Description Magic Land上的时间又过了若干世纪…… ...

  4. 数据库设计和ER模型-------之ER模型的基本概念(第二章)

    ER模型(实体联系模型)的基本元素 实体:是一个数据对象,在ER模型中,实体用方框表示,方框内注明实体的名称 联系:表示一个或多个实体之间的关联关系,联系用菱形框表示,并用线段将其与相关的实体联系起来 ...

  5. 学生管理系统.JavaScript

    python 实现 | c调用 JavaScript /*是否带有小数*/ function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; r ...

  6. C++动态时间显示

    #include <iostream> #include<stdlib.h> #include<windows.h> #include<string> ...

  7. IntelliJ IDEA 快捷键积累

    Windows idea 平时常用快捷键 一.视图查看 Ctrl+F12 查看file,method结构图.类继承机构图(方法,参数,返回值)                Ctrl+shift+Al ...

  8. mysql source 命令导入不了sql!

    sql文件也是正常, 为什么就是导入不了呢?? 后面才发现,可能是编码被notepad++ 修改了—— 一看发现是UTF-8 无BOM,改回UTF-8格式编码 就正常了!! 虽然看到的都是正常汉字, ...

  9. LabelFunction 允许在显示数据以前进行处理

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  10. canal 配置

    参考:https://www.2cto.com/database/201609/547661.html Spring配置 spring配置的原理是将整个配置抽象为两部分: xxxx-instance. ...