ゲームの開始時刻に関する画像を入力しようとしていますが、時間の正しい値を取得していますが、これらの値(3 ... 0)を(0 ... 1)に変換することはできません。3秒が経過した場合のように、画像を塗りつぶすために、画像は3秒間で満たされます。3 ...... 0を0に変換する...... 1、Unity3d(Time.time)
private float total_time = 3.0f;
private float end_time;
private float time_change_at;
private float init_time;
void Start()
{
init_time = Time.time;
end_time = init_time + total_time;
time_change_at = total_time - 1.0f;
}
void Update()
{
if (total_time <= 0.0f)
{
return;
}
total_time = end_time - Time.time;
if (total_time >= time_change_at)
{
time_change_at = time_change_at + 1.0f;
}
fill_the_bar(total_time);
string time_to_show = Mathf.Floor((total_time/60.0f)).ToString("00")+":"+(total_time%60).ToString("00");
print (time_to_show);
}
public void fill_the_bar(float val)
{
here i want to fill image gradually
//image.fillAmount
}
"画像が3秒間で満たされます" ....どのような画像ですか?説明してください – PassetCronUs
0 ... 3を0 ... 1に変換しようとしていますか?もしそうなら、 'total_time'を3.0fで割ることができると思います。 – Sarcoma
最初はtotal_timeが3を返し、0に向かって減少します(Time.timeから)ので、ここでは画像0〜100%を入力します。 intial value 3のように画像は0.0% 2画像は0.5 、1.5 = 0.8 、1 = 1(画像は完全に塗りつぶされます)で塗りつぶされます。 –