2014-09-25 54 views
0

我有我创建的脚本,但是当我右键单击一切顺利时,它会播放目标动画并在播放结束时停止播放,但是当您释放它时,它将重新播放动画。谁能帮忙?Unity 3D |瞄准视线

#pragma strict 

function Update() { 

if (Input.GetMouseButtonDown(0)) { 

    animation.Play("Shotgun_Shoot"); 

} 

if (Input.GetMouseButton(1)){ 

    animation.Play("Shotgun_Aim"); 

} 
else if(Input.GetMouseButtonUp(1)){ 
    animation.Rewind("Shotgun_Aim"); 
} 
} 

回答

0

我相信这是因为

else if(Input.GetMouseButtonUp(1)){ 
    animation.Rewind("Shotgun_Aim"); 
} 

这种情况发生在用户释放按钮

报告说,统一API在此功能中

返回true用户释放给定鼠标按钮的框架。 您需要从Update函数中调用该函数,因为每个帧都会重置状态。直到用户按下鼠标按钮并再次释放它才会返回true。按钮值为左按钮为0,右按钮为1,中按钮为2。

所以,你不希望最后否则,如果

编辑:

如何告诉动画也停止,如果鼠标按键被释放?

Animation.Stop - 停止以此动画开始的所有播放动画。 停止动画也将其倒回到开始位置。

+0

它仍然重复动画一遍又一遍? – 2014-09-25 19:55:44

+0

@TheEvil_potato回答编辑 – Rika 2014-09-25 19:58:55

+0

@TheEvil_potato我再次编辑我的答案:如何在释放按钮时告诉动画停止? – Rika 2014-09-25 20:16:13