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的更多相关文章

  1. VC++ 6.0中实现三叉切分窗口与多视图 [转]

    一.引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图.应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一 ...

  2. iphone绘图的几个基本概念CGPoint、CGSize、CGRect、CGRectMake、window(窗口)、视图(view)

    我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是装B,而是刚从vi转到xcode不久,不太习惯interface builder而已.当然如果需要我也会使用 ...

  3. 在打印窗口,打印视图View的子视图结构图

    在打印窗口,打印视图View的子视图结构图,使用 po [self.view recursiveDescription];

  4. Unity在Project视图里面显示文件的拓展名

    Unity在Project视图里面显示文件的拓展名 功能脚本如下: using System.IO; using System.Reflection; using UnityEngine; using ...

  5. 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图)

    原文 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图) UWP 应用多是一个窗口完成所有业务的,事实上我也推荐使用这种单一窗口的方式.不过,总有一些特别的情况下我们需要用到不止一个窗口 ...

  6. MFC中窗口静态分割&视图切换

    目录 窗口静态分割 单个分割器 声明 准备视图 静态分割窗口&添加视图 使视图大小随窗口大小改变 多个分割器 声明 静态分割窗口&添加视图 使视图大小随窗口大小改变 视图切换 视图之间 ...

  7. iOS Programming View and View Hierarchy 视图和视图等级

    iOS Programming  View and View Hierarchy 视图和视图等级 1.1(1)File → New → Project.. From the iOS section, ...

  8. IOS开发之视图和视图控制器

    视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西.在学习视图这一块的东西的时候,感觉和Java Swing中的Panel差不多.在UIKit框架中都有一 ...

  9. iOS 视图与视图层次结构(内容根据iOS编程)

    视图基础 视图是 UIView 对象,或者其子对象. 视图知道如何绘制自己. 视图可以处理事件,例如触摸(touch). 视图会按照层次结构排列,位于视图层次结构顶端的是应用窗口. 视图层次结构 任何 ...

随机推荐

  1. 将List<int> 转换为用逗号连接为字符串

    List<, , , , }; string str = String.Join(",", testList.ConvertAll<string>(new Con ...

  2. springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置

    Log4j由三个重要的组件构成: 日志信息的优先级 日志信息的输出目的地 日志信息的输出格式 日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度 ...

  3. ORACLE10G工作原理

    数据库查询语句内部执行过程 Select * from   xxx 步骤 分析阶段(parse) 1.         共享池库高速缓存有没有该语句.如果有直接返回结果. 2.         语法分 ...

  4. Firefox渗透测试黑客插件集

    前天看S哥用Firefox的hackbar进行手动注入进行渗透,觉得直接运用浏览器的插件进行渗透测试有很多优点,既可以直接在前端进行注入等操作,也可以省却了寻找各种工具的麻烦.前端还是最直接的!于是这 ...

  5. maven常见问题

    maven常见错误: 一..在Eclipse导入已存在工作空间的项目,出现 情况1: Scanning errors (1):1 Could not read pom.xml 就是pom.xml出现了 ...

  6. win7安装apache或者php 5.7缺少vcruntime140.dll的问题

    1.确定win7 系统是否是win7 sp1 版本.因为Visual C++ Redistributable for Visual Studio 2015 需要win7的sp1包的支持才能安装成功! ...

  7. Vmware怎样使用nat和桥接方式解决虚拟机联网问题

    对于很多的linux初学者来说,最开始学习linux时通常是在虚拟机上进行的,然而对于新手来说虚拟机联网会对他们来说是比较困难的.这里我根据自己的经验写了一篇文档分享给大家.下面对几种连接方式进行简单 ...

  8. win7+ubuntu双系统中卸载ubuntu方法

    双系统中,如果要卸载ubuntu是不能够直接卸载的,需要使用一些特殊的方法.下面就为大家详细的介绍介绍. Step1 MBR引导区修复: 进入win7,下载个软件MbrFix,放在C:\windows ...

  9. 【OpenStack】OpenStack系列13之Nova源码解析与API扩展

    学习思路 议程:代码结构-主干流程-分层架构-业务模型-数据库模型-消息模型 分布式架构:Api:横向扩展    rpc:纵向扩展 分层架构:Controller接口层.View/Manager逻辑层 ...

  10. h5在微信中不允许放大缩小页面

    在头部添加 <meta name="viewport" content="width=device-width, initial-scale=1, maximum- ...