http://www.cnblogs.com/linzheng/p/3954484.html

    通常我们在游戏里面创建的精灵比如玩家主角,它在移动的过程中一般会带有一些动画的效果,比如两只脚前后地移动,那么这种动画效果的实现和控制就可以通过Unity2D的动画系统来实现。

    要添加这样的动画,首先我们需要先在Hierarchy视图里面选中精灵,然后在Animation视图里面创建一个动画文件【Create New Clip】,如下图所示:

【Unity】2D精灵动画 _sprite

    创建好动画的文件之后,就可以把精灵的各个状态拉到时间轴上,然后拖动红色的线条就可以看到动画的预览效果。

    对于一个精灵可以创建多个动画,各个动画之间可以进行切换,下面我们再看一下动画之前的切换和精灵动画的管理。

    创建了动画之后,在动画文件的文件夹里面会发现多了一个后缀为controller的文件,这个就是动画控制器的文件,是跟精灵搭配起来的,名字也是跟精灵的名字一致,表示是对精灵动画的控制。如图所示:

【Unity】2D精灵动画 _sprite_02【Unity】2D精灵动画 _sprite_03

    点击Palyer.controller文件,可以在Unity里面看到其可视化的界面如图所示:

【Unity】2D精灵动画 _sprite_04

    在上图中我们可以看到左下角有一个添加参数的功能,这个功能一般会用来控制动画之前的切换,或者动画的终止等。动画之前是可以互相关联的,在可视化的控制器里面右键动画,就可以添加其下一个关联的动画,如上图中的两个动画是互相关联的。点击动画之间的“箭头”,然后再Inspector视图里面就可以查看或者设置动画之前的切换条件,如下图所示,通过Warking参数来控制动画之前的切换:

【Unity】2D精灵动画 _sprite_05

    这时候在精灵的Inspector视图里面,已经自动给精灵添加了动画控制器的组件了,如图所示。

【Unity】2D精灵动画 _sprite_06

    接下来我们就可以在精灵对应的脚本里面来获取动画控制器Animator来进行相关的操作。

【Unity】2D精灵动画 _sprite_07

    private Animator playerAnimator = null;// 动画控制器

    void Start()
    {
        playerAnimator = GetComponent<Animator>();

    }
    ......
      playerAnimator.SetBool("Walking", false);
    ......
      playerAnimator.SetBool("Walking", true);

【Unity】2D精灵动画 _sprite_07

    我们可以在脚本里面设置动画控制器参数的值,通过这个参数来控制动画之前的切换。