博客列表 >Animator动画播放停止状态的简单控制

Animator动画播放停止状态的简单控制

龍__遇见彩虹的博客
龍__遇见彩虹的博客原创
2017年12月28日 21:01:4410923浏览
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
/*
 * 自动漫游摄像机
 * 点击自动漫游按钮,摄像机自动沿着设定好的路线自动漫游
 */
public class FreeCamera : MonoBehaviour {
    public Text cameraControllerDetails;//获取文本
    private Animator anim;
    private AnimatorStateInfo animatorInfo;
    void Start()
    {
        anim = GetComponent<Animator>();
    }
    void Update()
    {
        animatorInfo = anim.GetCurrentAnimatorStateInfo(0);//获取动画信息
        if (animatorInfo.IsName("FreeCamera"))//注意这里指的不是动画的名字而是动画状态的名字
        {   
            if (CommonController.isFreeCamera)
            {
                anim.enabled = true;//Animator组件启用
                anim.speed = 1;//动画播放速度
                cameraControllerDetails.text = "自动漫游中...";
                Debug.Log("获取Animator的动画了!");
                // 判断动画是否播放完成
                if (animatorInfo.normalizedTime >= 1.0f)
                {
                    //播放完毕,要执行的内容
                    cameraControllerDetails.text = "自动漫游结束,请点击主动漫游按钮,进行主动漫游!";
                }
            }
            else
            {
                //anim.speed = 0;//动画播放速度
                //anim.Stop();
                anim.enabled = false;//Animator组件停用
                cameraControllerDetails.text = "主动漫游中!";
                Debug.Log("动画播放停止!");
            }            
        }
    }
    public void isFreeCamera()
    {
        CommonController.isFreeCamera = true;
    }
    public void isActiveCamera()
    {
        CommonController.isFreeCamera = false;
    }
}


**经过我从网上找资料解决Animator组件控制Animation动画播放以及停止的办法来看,暂时还没发现有完整的播放、停止、判断动画结束的事例。为了解决动画的播放和停止,我自己想了一个较为笨拙的办法...


**办法:就是Animator组件的启用和停用。**



TIM截图20171228210130.png


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议