2017-01-19 6 views
0

Привет, ребята я любопытное путать, когда я делаю что-то вроде этого:объект transform.rotate не вращается с time.deltatime

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 я dont't использовать время. deltaTime он работает хорошо и вращается, когда я использую deltaTime, он не вращается, может кто-нибудь объяснить мне, почему он не работает и что мне нужно сделать, чтобы он работал?: S

ответ

2

Я знаю два возможных причины, по которым он не работает с Time.deltaTime:

. Значение скорости очень мало. Увеличьте это значение примерно до 400 и посмотрите, что произойдет. Это likly проблема.

. Вы установили Time.timeScale в 0. Убедитесь, что это не 0. Когда оно 0, Time.deltaTime будет 0 тоже. Вы можете проверить это, поставив Debug.Log(Time.timeScale); в функцию Update().

+0

1 работал отлично спасибо :) –

+0

Nice. Вы можете [отметить] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) ответ, чтобы пометить его как решенный. – Programmer