transform.rotate对象不随time.deltatime旋转

时间:2017-01-19 16:49:23

标签: c# unity3d unity5

大家好,我有点困惑,当我做这样的事情时:

using UnityEngine;
using System.Collections;

public class CoinBehaviour : MonoBehaviour {

manager gameManager;
public float speed;
void OnCollisionEnter(Collision collision) {
    if (collision.gameObject.tag == "Player") {
        gameManager.coinDown ();
        Destroy (this.gameObject);
    }

}

// Use this for initialization
void Start () {
    gameManager = GameObject.Find ("gameManager").GetComponent<manager> ();
}

// Update is called once per frame
void Update () {
    transform.Rotate (0f, speed * Time.deltaTime, 0f);
}
}

并且在transform.Rotate的最后一行我没有使用Time.deltaTime它运行良好并且旋转,当我使用deltaTime它不旋转时,有人可以解释为什么它没有&#39工作以及我需要做些什么才能让它发挥作用?:S

1 个答案:

答案 0 :(得分:2)

我知道有两个可能的原因导致它无法使用Time.deltaTime

1 。速度值非常小。将此值提高到大约400,看看会发生什么。这喜欢问题。

2 。您将Time.timeScale设置为0。确保这不是0。当它为0时,Time.deltaTime也变为0。您可以将Debug.Log(Time.timeScale);添加到Update()函数中来检查这一点。