大家好,我正在做一个需要计算时间的游戏,有一个脚本可以旋转太阳,同时找到时间。
using UnityEngine;
public class Sun_Settings : MonoBehaviour
{
public Gradient DirectinalGradient;
public Gradient AmbientLight;
public float SecondsPerDayv = 60f;
public float TimeProgress = 0f;
public Light DirectionalLight;
public float ThisHour;
Vector3 DefaultAngles;
void Start()
{
DefaultAngles = DirectionalLight.transform.localRotation.eulerAngles;
}
void Update()
{
TimeProgress += Time.deltaTime / SecondsPerDayv;
if(TimeProgress >= 1f)
{
TimeProgress = 0f;
}
DirectionalLight.color = DirectinalGradient.Evaluate(TimeProgress);
RenderSettings.ambientLight = AmbientLight.Evaluate(TimeProgress);
DirectionalLight.transform.localEulerAngles = new Vector3(x: 360 * TimeProgress - 90f, y: DefaultAngles.x, z: DefaultAngles.z);
ThisHour = TimeProgress * 24f;
}
}
该脚本使用余数来查找小时数,即,它得到的不是中午 12 点,而是12.715373。是否可以只提取浮点 变量的整数部分而不进行四舍五入?