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). 视图会按照层次结构排列,位于视图层次结构顶端的是应用窗口. 视图层次结构 任何 ...
随机推荐
- HDU 4858 项目管理(邻接表 暴力模拟)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4858 我们建造了一个大项目!这个项目有n个节点,用很多边连接起来,并且这个项目是连通的! 两个节点间可 ...
- Centos优化Hadoop
导读 Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序,本节讲安装并且优化centos 6.7 系统下的Supper Hado ...
- ZeroMQ(java)之I/O线程的实现与组件间的通信
算是开始读ZeroMQ(java)的代码实现了吧,现在有了一个大体的了解,看起来实现是比较的干净的,抽象什么的不算复杂... 这里先来看看它的I/O线程的实现吧,顺带看看是如何实现组件的通信的.... ...
- 搭建Nginx+JAVA环境
搭建Nginx+JAVA环境 Apache对Java的支持很灵活,他们的结合度也很高,例如Apache+Tomcat和Apache+resin等都可以实现对Java应用的支持.Apache一般采用一个 ...
- mysql sql维护常用命令
mysql修改表名,列名,列类型,添加表列,删除表列 alter table test rename test1; --修改表名 alter table test add column name v ...
- c#ASP.NET中页面传值共有这么几种方式
一.目前在ASP.NET中页面传值共有这么几种方式: 1.Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在 ...
- local variable 'xxx' referenced before assignment
这个问题很囧,在外面定义了一个变量 xxx ,然后在python的一个函数或类里面引用这个变量,并改变它的值,结果报错local variable 'xxx' referenced before as ...
- 转关于垂直切分Vertical Sharding的粒度
垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个问题对应用程序和sharding实现有着很大的影响. 关联打断地越多,则受影响的join操作越多,应用程序为此做出的妥协就越 ...
- DFS:Red and Black(POJ 1979)
红与黑 题目大意:一个人在一个矩形的房子里,可以走黑色区域,不可以走红色区域,从某一个点出发,他最多能走到多少个房间? 不多说,DFS深搜即可,水题 注意一下不要把行和列搞错就好了,我就是那样弄错过一 ...
- Intellj IDEA快捷键
Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码 ...