Uni2D 入门 -- Animation Clip 和 Animation API
来源:互联网 发布:海文考研网络课程 编辑:程序博客网 时间:2024/05/18 17:41
http://blog.csdn.net/kakashi8841/article/details/17599505
Animation Clip
一个animation clip是可重用的帧集合,它以给定的帧率显示sprite。每一帧包含的texture和可选事件。
可通过菜单栏“Uni2D > Create > Animation Clip”创建一个Animation Clip。
Animation Clip Inspector
Atlas 部分
Clip header部分
- Loop:从第一帧播放到最后一帧,然后回到第一帧继续播放。
- Ping-Pong:从第一帧播放到最后一帧,然后从最后一帧播回最后一帧。
- Once:只播放一次,并停在一帧,它是主帧,不一定是动画的第一帧。
- Clamp Forever:从第一帧播放到最后一帧,并停在最后一帧。
Frame部分
Action部分
嵌入的播放器部分
在这个子窗口,你能预览动画,并使用更多的回放控制。
Animation API
Uni2D提供一些基础方法用于管理你的动画。这些animation API虽然是C#的,不过JavaScript也可以使用。
Uni2DSprite类有一个SpriteAnimation属性,它返回一个Uni2DSpriteAnimation对象的引用。这个对象控制sprite的animation。
属性/方法描述bool playAutomatically决定动画是否在sprite awake之后自动播放Uni2DSprite Sprite(只读)这个对象正在渲染的spriteUni2DAnimationClip.WrapMode WrapModeanimation怎样循环(看Animation Clip的Inspector)float FrameRateanimation clip的帧率。使用这个修改动画播放的方式。负数会反转动画int FrameCount当前animation包含了多少帧。这个数量取决于当前animation clip和当前的wrap mode。例如,一个10帧的animation clip,如果是Ping-Pong的wrap mode,它的frame count是18int 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 clipint ClipCount(只读)附加到sprite上有多少个animation clipsbool 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,则返回-1void 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
- Uni2D 入门 -- Animation Clip 和 Animation API
- Uni2D 入门 -- Animation Clip 和 Animation API
- Uni2D 入门 -- Animation Clip 和 Animation API
- Uni2D 入门 -- Animation Clip 和 Animation API
- Uni2D 入门 -- Skeletal Animation
- Uni2D 入门 -- Skeletal Animation
- Uni2D 入门 -- Skeletal Animation
- Uni2D 入门 -- Skeletal Animation
- Uni2D 入门 -- Skeletal Animation + Asset Table
- Unity/Animation -- 创建Animation Clip
- Unity/Animation -- 创建Animation Clip
- Unity中有两种Animation Clip
- Animation API
- Animation入门
- animeditor-Creating a New Animation Clip
- animation
- animation
- 职场人 你迷茫了吗?
- 自定义Spinner(下拉列表)五步走
- Uni2D 入门+Uni2D 入门 -- Atlas
- Shiro 的CryptFormat源码
- QoS令牌桶工作原理
- Uni2D 入门 -- Animation Clip 和 Animation API
- [连载]C#程序设计(11)--- 接口
- 整数快速幂hdu(1852)
- Uni2D 入门 -- Skeletal Animation + Asset Table
- ACTF2014exploit100 餐前甜点
- [字符串]CH Round#30 T1 语言识别
- C++ primer读书笔记7-复制控制
- 【JAVA学习】hashcode()和equals()方法剖析
- Java设计模式之从[Dota的武器创建]分析生成器(Builder)模式