您当前的位置: 首页 >  unity

苍狼王unity学院

暂无认证

  • 9浏览

    0关注

    305博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity的老版Amimation动画使用(正序、倒序播放某一段动画)

苍狼王unity学院 发布时间:2019-01-11 13:40:39 ,浏览量:9

Amimation动画可以重复播放某一段动画 在这里插入图片描述

1、设置 在这里插入图片描述 将带有动画的模型选择,如图所示,点击Apply。 2、将下面脚本挂在带有Amimation动画的Gameobject上 2.1方法一: using System.Collections; using System.Collections.Generic; using UnityEngine;

public class AnimationnPlay : MonoBehaviour { private Animation ani; private void Start() { ani = this.GetComponent(); } private void Update() { if (Input.GetKeyDown(KeyCode.W)) { PlayAnimation(“Idle”, 1f); } } private void PlayAnimation(string _name, float speed = 1f) { if (ani[_name] != null) { if (ani.isPlaying) { ani.Stop(); } if (speed == -1) { ani[_name].time = ani[_name].length;//从最后开始。 } else { ani[_name].time = 0; } ani[_name].speed = speed; print(ani[_name].speed + " : " + ani[_name].name + ": " + ani[_name].length); ani.Play(_name); } else { print(“请输入动画片段名字”); } } } 2.1.2、点一下W键,即可看到播放一下Idle动画片段。

2.1.3、补充一个,如果要让这一段动画倒着可以重复播放,怎么做? PlayAnimation(“Idle”, -1f); 上面调用方法,改为-1f,即可。

2.2方法二: public class Aniplay: MonoBehaviour { public bool AnimaState=false; private Animation anim; public string animName; private void Start() { anim = this.GetComponent(); } private void OnMouseDown() { if (AnimaState) { //动画是否正在播放。 if (anim.isPlaying==false) { //倒播。 anim[animName].speed = -1; //从最后开始播放。 anim[animName].time = anim[animName].length; } } else { anim[animName].speed = 1; } //开始播放 anim.Play(); AnimaState = !AnimaState; } } 在这里插入图片描述

关注
打赏
1665389160
查看更多评论
立即登录/注册

微信扫码登录

0.0393s