Unity3D如何让物体停下来时播放静止的animation

我按住W播放的是run的动画但是我松开w的时候还是在播放run的动画而我希望在我松开的时候播放idle的动画... 我按住W播放的是run的动画
但是我松开w的时候还是在播放run的动画
而我希望在我松开的时候播放idle的动画
展开
 我来答
育知同创教育
2016-03-04 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
function CrossFadeQueued (animation : string, fadeLength : float = 0.3F, queue : QueueMode = QueueMode.CompleteOthers, mode : PlayMode = PlayMode.StopSameLayer) : AnimationState

描述:在前一动画播放完后渐变到下一个动画。例如你可以播放一个特定的动画序列。动画在播放前复制自身,因此你可以再相同的动画间渐变,这可用来重叠两个相

同的动画。例如你可能有一个挥剑的动画,玩家快速挥动了2次,你可以回放这个动画并从开始播放它,但会跳帧。

下面是可用的queue modes:
如果queue为QueueMode.CompleteOthers这个动画纸在所有其他动画都停止播放时才开始。
如果queue为QueueMode.PlayNow这个动画将以一个复制的动画状态立即开始播放。
动画播放完成后它将自动清除它自己。在它播放完成后使用赋值的动画将导致一个异常。
function Update ()
{
if (Input.GetButtonDown(“Fire1”))
animation.CrossFadeQueued(“shoot”, 0.3, QueueMode.PlayNow);
}
步虚真人
推荐于2016-09-02 · TA获得超过1344个赞
知道小有建树答主
回答量:601
采纳率:91%
帮助的人:492万
展开全部
我自己是使用bool变量进行处理的。
声明一个bool变量例如bool run=false;
W按下时run=true;
W松开时run=false;
然后在update函数里面判断
if(run)
{
播放run
动画
}
else
{
播放idle动画

}

新手自学,这个方法虽然亲测可用,但是可能不是好方法。
如果有好方法,请告诉我吧。
多谢。
更多追问追答
追问
你按下和松开是两个函数么?
我用的是
if (Input.GetKey(KeyCode.W)) {
transform.Translate (0, 0, 5 * Time.deltaTime);
GetComponent().Play("run");
}
追答
这个是键盘某一个键位一直按下。
可以尝试用
Input .GetKeyUp (KeyCode .W )//按键松开
Input .GetKeyDown (KeyCode .W )//按键按下
这些进行区分。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MR__J_A_Y_
2015-10-28 · TA获得超过637个赞
知道小有建树答主
回答量:747
采纳率:50%
帮助的人:288万
展开全部
这个跟你跑动的动画效果不是一样的么?判断物体是停下来的状态,然后就播放就可以了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式