Код:
using UnityEngine;
using System.Collections;
public class DayNightController : MonoBehaviour {
public AudioSource daySong;
public AudioSource nightSong;
public Light sun;
public float secondsInFullDay = 120f;
[Range(0,1)]
public float currentTimeOfDay = 0;
[HideInInspector]
public float timeMultiplier = 1f;
float sunInitialIntensity;
void Start() {
sunInitialIntensity = sun.intensity;
}
void Update() {
UpdateSun();
currentTimeOfDay += (Time.deltaTime / secondsInFullDay) * timeMultiplier;
if (currentTimeOfDay >= 1) {
currentTimeOfDay = 0;
}
if(currentTimeOfDay > 0.5){
daySong.Stop();
nightSong.Play(0);
}
if(currentTimeOfDay < 0.5){
daySong.Play(0);
nightSong.Stop();
}
}
void UpdateSun() {
sun.transform.localRotation = Quaternion.Euler((currentTimeOfDay * 360f) - 90, 170, 0);
float intensityMultiplier = 1;
if (currentTimeOfDay <= 0.23f || currentTimeOfDay >= 0.75f) {
intensityMultiplier = 0;
}
else if (currentTimeOfDay <= 0.25f) {
intensityMultiplier = Mathf.Clamp01((currentTimeOfDay - 0.23f) * (1 / 0.02f));
}
else if (currentTimeOfDay >= 0.73f) {
intensityMultiplier = Mathf.Clamp01(1 - ((currentTimeOfDay - 0.73f) * (1 / 0.02f)));
}
sun.intensity = sunInitialIntensity * intensityMultiplier;
}
}
Поэтому, когда время достигает этой точки команды if, я слышу песню, но она останавливается через 1 секунду после воспроизведения, аудиоклипы более 2 минут, я не знаю, почему этосделать это, он активирует, что если команда, но затем останавливается, извините за то, что я нуб, но мне нужна помощь, потому что игра, которую я делаю, значит для меня мир, Подробнее: Что я думаю, он активирует команду if, затем пытаетсяследующий и останавливает аудиоклип, поможет ли округлить число [текущее время]?