大家好,我有点困惑,当我做这样的事情时:
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
答案 0 :(得分:2)
我知道有两个可能的原因导致它无法使用Time.deltaTime
:
1 。速度值非常小。将此值提高到大约400,看看会发生什么。这喜欢问题。
2 。您将Time.timeScale
设置为0
。确保这不是0
。当它为0时,Time.deltaTime
也变为0
。您可以将Debug.Log(Time.timeScale);
添加到Update()
函数中来检查这一点。