2013-08-25 3 views
0

Я пишу здесь, потому что мне действительно нужна ваша помощь. Я создал этот скрипт, связанный с огнем gameObject (Directional).Unity Направленное обновление света (эффект дневной ночи)

var time : int= 0; 

function Update() { 
    time+=1; 
    transform.Rotate(time*Time.deltaTime, 0 ,0); 
     yield WaitForSeconds(0.2); 
    if (time == 360){ 
     time = 0; 
    } 
} 

, когда я начать игру, объект не вращается, и если я удалить строку:

yield WaitForSeconds(0.2); 

вращение начинает медленно затем increses свою скорость до (каждые 2 раунда) он возвращается 0.

+1

Итак, в чем вопрос? Что вы не знаете, почему ротация не работает, когда «yield ...» находится в коде или что вы не знаете, почему объект медленно увеличивается в скорости? Вторая часть проста, Rotate - относительная функция, означающая, что каждый вызов добавляет входное значение к текущему вращению. Просто делайте 'transform.Rotate (Time.deltaTime * speed, 0,0)', и вы должны быть в порядке. – Jerdak

+0

есть 2 вопроса: первый: почему, когда я добавляю доход, ничего не происходит? секунда: почему, если я удаляю урожай, скорость вращения incresed? (я хочу включить вращение, а не скорость вращения) – theoden9017

ответ

0

Jerdak is right. Update() называется каждый кадр, а не каждую секунду. Таким образом, time достигает 360 очень быстро. Чтобы получить истекшее время с момента последнего звонка до Update, используйте Time.deltaTime. Что в основном означает, что когда вы делаете transform.Rotate(Time.deltaTime * speed, 0, 0);, он будет вращаться в соответствии с вашей скоростью. Поэтому используйте меру скорости, а не меру времени.

вращение начинается медленно, то increses его скорость, пока (каждые 2 раундов) она возвращает 0.

Это ожидаемое поведение. Как я уже сказал, вы использовали time вместо speed. Вы увеличиваете скорость (по названию: time) каждые 0,2 секунды, тем самым увеличивая скорость вращения.

, когда я начать игру, объект не вращается

Я не уверен, почему это происходит, но когда вы будете ждать достаточно долго, вы будете видеть вращение встречающийся в любом случае. Это может происходить, но очень медленно.

Смежные вопросы