Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation
Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation
通过上一小节的操作,我们新建了2个动画:PlayerIdleAnimation和PlayerWalkingAnimation。而且在单击Animation视图里的播放按钮时,也看到了动画的效果。但是现在还需要管理这两个动画,也就是说需要能够指定精灵当前进入的动画状态,为此就需要对动画控制器展开一些设置和操作,具体的步骤是本文选自Unity 2D游戏开发从入门到精通清华大学出版社:
(1)在Project视图里,找到在创建动画时一并生成的动画控制器,在本示例中它的名字是PlayerAnimatorController。双击它,然后会弹出Animator窗口视图,此视图中包含3个动画状态,名为Any State的动画状态是系统生成的,其它两个动画状态是我们在上一小节里定义的,如图1-23所示。

图1-23 Animator视图里的3个动画状态
(2)在PlayerIdleAnimation动画状态上右击鼠标,然后在弹出的快捷菜单中选择Make Transition,最后再单击PlayerWalkingAnimation动画状态。这样就添加一条从前者指向后者的箭头,此箭头表示两个动画状态的过渡,即从前者表示的动画状态过渡的后者表示的动画状态。使用同样的方式,添加从后者到前后的过渡,如图1-24所示。
图1-24 建立两个动画状态的过渡
(3)单击Unity工具栏里的开始游戏按钮,然后查看Game和Animator视图,你会发现精灵在反复的播放这两个动画状态,如图1-25所示,但是我们目前还无法指定其进入哪种动画状态本文选自Unity 2D游戏开发从入门到精通清华大学出版社。

图1-25 Game和Animator视图
(4)要想指定当前精灵所进入的动画状态,就需要设置两个动画状态的过渡条件。在Animator视图的左下角有个名为Parameters的小窗口,单击其右侧的 按钮,可以添加参数。在本示例中,需要添加名为Walking的Bool类型的参数,如图1-26所示。

图1-26 在Animator视图里,添加一个Bool类型的参数
(5)然后在Animator视图里,单击表示动画状态从PlayerIdleAnimation过渡到PlayerWalkingAnimation的箭头(箭头的颜色由白色变为蓝色),再查看Inspector视图,如图1-27所示,在视图靠下面的地方有个Conditions,它用于设置动画过渡的条件,此时系统所设置的动画过渡条件是,在动画播放1秒后,进入另一个动画状态,因此之前我们播放动画的时候发现,精灵一直在两种动画状态间跳转。

图1-27 Inspector视图里,动画状态的过渡属性设置
(6)单击Condition下的Exit Time,从中选中我们刚才定义的参数Walking,然后设置其后面的属性为true,如图1-28所示。表示只有在参数Walking为true时,动画状态才会从PlayerIdleAnimation过渡到PlayerWalkingAnimation。

图1-28 设置动画状态的过渡条件
使用同样的方式设置,从PlayerWalkingAnimation到PlayerIdleAnimation的过渡条件为Walking,设置其属性为false,表示Walk为false时,动画状态的过渡才会发生。
(7)运行游戏,然后查看Game和Animator视图,如图1-29所示。默认情况下,Walking的值为false,因此Game视图里,一直在播放PlayerIdleAnimator动画。

图1-29 Game和Animator视图
单击Animator视图左下角Parameters下的Walking参数的复选框,即设置Walking为true,再次查看Animator视图,此时Game视图中的精灵则是一直在播放PlayerWalkingAnimation动画,如图1-30所示本文选自Unity 2D游戏开发从入门到精通清华大学出版社。

图1-30 Game和Animator视图
Animator窗口视图Project视图PlayerIdleAnimation和PlayerWalkingAnimation的更多相关文章
- VC++ 6.0中实现三叉切分窗口与多视图 [转]
一.引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图.应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一 ...
- iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)
我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interface builder而已.当然如果需要我也会使用 ...
- 在打印窗口,打印视图View的子视图结构图
在打印窗口,打印视图View的子视图结构图,使用 po [self.view recursiveDescription];
- Unity在Project视图里面显示文件的拓展名
Unity在Project视图里面显示文件的拓展名 功能脚本如下: using System.IO; using System.Reflection; using UnityEngine; using ...
- 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图)
原文 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图) UWP 应用多是一个窗口完成所有业务的,事实上我也推荐使用这种单一窗口的方式.不过,总有一些特别的情况下我们需要用到不止一个窗口 ...
- MFC中窗口静态分割&视图切换
目录 窗口静态分割 单个分割器 声明 准备视图 静态分割窗口&添加视图 使视图大小随窗口大小改变 多个分割器 声明 静态分割窗口&添加视图 使视图大小随窗口大小改变 视图切换 视图之间 ...
- iOS Programming View and View Hierarchy 视图和视图等级
iOS Programming View and View Hierarchy 视图和视图等级 1.1(1)File → New → Project.. From the iOS section, ...
- IOS开发之视图和视图控制器
视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西.在学习视图这一块的东西的时候,感觉和Java Swing中的Panel差不多.在UIKit框架中都有一 ...
- iOS 视图与视图层次结构(内容根据iOS编程)
视图基础 视图是 UIView 对象,或者其子对象. 视图知道如何绘制自己. 视图可以处理事件,例如触摸(touch). 视图会按照层次结构排列,位于视图层次结构顶端的是应用窗口. 视图层次结构 任何 ...
随机推荐
- 简单聊下IO复用
没图,不分析API Java中IO API的发展:Socket -> SocketChannel -> AsynchronousSocketChannelServerSocket -> ...
- 序列化.to_sym
<%= link_to t('links.list'), showable_paths[@subchannel_item.showable_type.to_sym], target: '_bla ...
- [BZOJ2423][HAOI2010]最长公共子序列
[BZOJ2423][HAOI2010]最长公共子序列 试题描述 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X=“x ...
- XPath学习:轴(3)——descendant
XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointe ...
- FireFox下上传控件的显示问题
Chrome正常 FireFox显示不正常 上传控件一直有个问题,就是样式问题,解决方法就是用一个大的背景层挡住,然后点大的背景层去触发上传控件的Click事件. Html: <span id= ...
- jquery validate自定义checkbox验证规则和样式
参考:http://blog.csdn.net/xh16319/article/details/9987847 自定义checkbox验证,“检查checkbox是否选中” jQuery.valida ...
- Android开发数据库三层应用-DataSnap
Android开发数据库三层应用-DataSnap http://www.2ccc.com/news/Html/?1517.html 核心提示:我觉得Delphi最强大的的功能之一就是开发数据库三层应 ...
- Emacs 从入门到精通
1 前言 不想再说废话了,既然你会阅读这篇文档,说明你多少对Emacs有 些兴趣,或者已 经非常熟悉Emacs的基础操作了,并且希望有所提高.因此我不需要再把"编辑器 之神,还是神的编辑器& ...
- Linux下RPM、tar.gz、DEB格式软件包的区别
初接解Linux的朋友一定对软件的安装特别头疼,同样都是for Linux,但RPM.tar.gz.DEB包还是有很大区别的,这种区别很有可能使你的安装过程进行不下去.那我们应该下载什么格式的包呢 ...
- 信与信封问题(codevs 1222)
题目描述 Description John先生晚上写了n封信,并相应地写了n个信封将信装好,准备寄出.但是,第二天John的儿子Small John将这n封信都拿出了信封.不幸的是,Small Joh ...