0 支持
88 閲覧

現在、3ステージ制のタイムアタック+獲得スコアで競う2Dアクションゲームを製作しており、リザルト画面でクリアタイムとスコアを表示したいのですが、各ステージごとではなく最終ステージの結果のみが表示されるという状況に陥ってしまっています。

それぞれの結果を反映させるためには、スクリプトを分けるのがやはり得策なのでしょうか?

教えていただければ幸いです。

Score.cs

void Awake()
{
    score = 0;
}
void Update()
{
    scoreText.text = $"Score : { score.ToString("0000") }";                       //「score : ~~」表記
}

public static int GetScore()
{
    return score;
}

public void ScorePlus()
{
    score += 150;
}

Timer.cs

    void Awake()
{
    time = 0;
}
void Update()
{
    timerText.text = $"Time : { time.ToString("N2") }";                     //「Time : ~~.~~」表記

    //ゲーム中かどうか
    isPlaying = check.IsPlaying();

    if(isPlaying)
    {
        time += Time.deltaTime;                                                          //前フレーム→今フレームの時間差を経過時間として加算
    }
}

public static float GetTime()
{
    return time;
}

Result_Score.cs

void Start()
{
    score = Score.GetScore();

    scoreText.text = $"Score : { score.ToString("0000") }";                       //「score : ~~」表記
}

Result_Time.cs

    void Start()
{
    time = Timer.GetTime();

    timeText.text = $"Time : { time.ToString("N2") }";                     //「Time : ~~.~~」表記
}
初心者 (140 ポイント) | 88 閲覧

ログインまたはユーザー登録してから回答してください。

関連する質問

0 支持
1 回答
kumao23 初心者 (220 ポイント) 6/23 質問 | 54 閲覧
0 支持
0 回答
0 支持
1 回答
Fuktsu8 初心者 (120 ポイント) 5/10 質問 | 49 閲覧
0 支持
1 回答
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

158 質問

153 回答

159 コメント

189 ユーザー