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. cf.VK CUP 2015.C.Name Quest(贪心)

    Name Quest time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  2. topo排序 + 用邻接表优化后的

    输入数据: 4 61 21 32 33 42 44 2 4 61 21 32 33 42 41 2 topo排序为偏序: #include<stdio.h> #include<que ...

  3. Mac OS X【快捷键组合】汇总

    以下是可能会出现在 OS X 菜单中的修饰键符号: ⌘—— () ⌃ ——Control ⌥—— (alt) ⇧——Shift ⇪——Caps Lock fn——功能键就是fn 启动快捷键 按下按键 ...

  4. HDU 4864 Task (贪心+STL多集(二分)+邻接表存储)(杭电多校训练赛第一场1004)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4864 解题报告:有n台机器用来完成m个任务,每个任务有一个难度值和一个需要完成的时间,每台机器有一个可 ...

  5. [BZOJ2959]长跑——新技能:LCT+缩圈

    [BZOJ2959]长跑 试题描述 某校开展了同学们喜闻乐见的阳光长跑活动.为了能“为祖国健康工作五十年”,同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动.一时间操场上熙熙攘攘 ...

  6. Dynamic Morphing Square(动态变形矩阵)

    题目描述: 解题思路: 先对输入的N进行判断,是否不小于3,如果小于3,需要继续输入一个新的数,知道输入的N比3大. 第一个打印的矩阵,*号为最外面一圈,其余全为-. 第二个打印的矩阵,*号向内缩减了 ...

  7. delphi 2007 远程调试

    Remote debugging lets you debug a RAD Studio application running on a remote computer. Once the remo ...

  8. poj1258 Agri-Net 最小生成树

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44032   Accepted: 18001 Descri ...

  9. Android 调用浏览器和嵌入网页

    Android App开发时由于布局相对麻烦,很多时候一个App通常是由html5和原生控件相结合而成.简单的网页应用可以直接内嵌html5页面即可,对于需要调用复杂的底层功能时则采用原生控件的方式进 ...

  10. Select Top在不同数据库中的使用

    1. oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FIRST N * FROM TABLE1 3. D ...