点击它后慢慢旋转GameObject

时间:2017-11-13 20:30:33

标签: unity3d unity5

我有这个游戏对象,我试图旋转90度。

如何让它顺利旋转?

private void OnMouseDown()
{
   gameObject.transform.Rotate(new Vector3(0, 0, -90));
}

1 个答案:

答案 0 :(得分:0)

您可以使用Coroutine慢慢为其设置动画。

float rotationAmount = .1f;
float delaySpeed = .1f;
private void OnMouseDown(){
    StartCoroutine(SlowSpin());
}
IEnumerator SlowSpin(){
    float count = 0;
    while(count <= 90){
        gameObject.transform.Rotate(new Vector3(0, 0, rotationAmount));
        count += rotationAmount;
        yield return new WaitForSeconds(delaySpeed);
    }
}

更改第1行和第2行的变量以满足您的需求。但是,请勿将delaySpeed设置得太高,否则您的动画将变得不连贯。