原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2018/1018/95.html
常州游戏开发设计与培训-Unity滑动条控制动画播放
动画播放可以实现的方式有很多种,但下面要说的这种方式是借助滑动条来控制动画的播放,具体的实现的方法如下:
//动画名称
public const string ANIM_NAME = "Take 001";
//模型对象
public GameObject obj = null;
//进度条
public float hSliderValue = 0.0f;
public float animLegth = 0.0f;
void Start()
{
//得到模型动画
//obj = GameObject.Find("man");
//得到动画播放长度
animLegth = obj.animation.animation[ANIM_NAME].length;
}
void OnGUI()
{
//显示信息
string show = "CurrentAnimationLength" + hSliderValue.ToString() + "(s)" + "/" + animLegth.ToString() + "(s)";
GUILayout.Label(show);
//计算拖动条拖动数值
hSliderValue = GUILayout.HorizontalSlider(hSliderValue, 0.0f, 5.0f, GUILayout.Width(200));
//绘制动画帧
PlaysilderAnimation(obj, hSliderValue);
}
public void PlaysilderAnimation(GameObject manObject, float times)
{
//播放动画
if(!manObject.animation.isPlaying)
{
// manObject.animation.Play(ANIM_NAME);
manObject.animation.Play(ANIM_NAME);
}
//设置动画时间
manObject.animation.animation[ANIM_NAME].time = times;
}
上篇:上一篇:Unity3d倒计时实现
下篇:下一篇:unity3d Resources.Load动态加载资源