【Unity-Timeline进度条显示与拖动】

利用Unity 自带的Timeline 可轻松实现场景的巡检漫游效果,
基本使用参考以下链接:
Unity中的Timeline
Unity学习笔记——TimeLine的简单使用方法(一)

这里主要介绍如何通过滑动条控制播放的进度,效果图附上。
请添加图片描述
请添加图片描述话不多说,直接上干货!

 public GameObject TimeLine_ZCF;  
 public Slider TimeLine_ZXS_Slider;

 void Start()
  {
    //给滑动条添加方法,值改变时触发,更改TimeLine的time值
    TimeLine_ZXS_Slider.onValueChanged.AddListener((float value) => {   TimeLine_ZXS.GetComponent<PlayableDirector>().time = value * TimeLine_ZXS.GetComponent<PlayableDirector>().duration; });
  }


 //控制漫游启停
 void ConTrolManYou(bool isStart)
 {
    if(isStart)
    {
       TimeLine.GetComponent<PlayableDirector>().Play();
	   InvokeRepeating("DelayedExeCuteSlider", 0f, 1f);
    }
   else
   {
      TimeLine.GetComponent<PlayableDirector>().Stop();
      TimeLine_ZXS_Slider.value =0;
	  CancelInvoke("DelayedExeCuteSlider");
   }
			
 }


  //将TimeLine运行的时间,反馈给滑动条
  //time 是运行的时间,duration是总时间,slider的值范围:0-1,所以用time /duration即可
  //这个方法可以放在Update里面,当然,考虑到性能,只有在漫游巡检时在赋值即可,通过携程或者Invoke重复调用
 private void DelayedExeCuteSlider()
 {
	TimeLine_ZXS_Slider.value = (float)(TimeLine_ZXS.GetComponent<PlayableDirector>().time / TimeLine_ZXS.GetComponent<PlayableDirector>().duration);
 }
			

这里是井队,天高任鸟飞,海阔凭鱼跃,点个关注不迷路,我们下期再见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值