0

C#とUnityでシューティングゲームを作っています。

スコアと時間を表示するには、GameController と GameStatus を使用します。

最初のシーンでは問題ありません。スムーズに走行できます。

しかし、2 番目のシーンでは、1 番目のシーンをコピーして、2 番目のシーン用に新しい GameController を作成します。

それは動作しますが、ゲームの実行が遅くなります。

同じコードを使用して新しいプロジェクトを作成しようとしましたが、最初のシーンでも遅いです。

私はこれが起こる原因を知りません。

以下は私のコードです、それは仕事です。

using UnityEngine;
using System.Collections;

public class MyGameController2 : MonoBehaviour 

    private Gun gun;

    public GUISkin mySkin2;

    private GameStatus gameStatus;

    public float countDownTime2;
    private float scoreTime2;
    private float menuTime2;
    // Use this for initialization
    void Start () {
        countDownTime2 = 60.0f;
        scoreTime2 = countDownTime2+3;
        menuTime2 = countDownTime2+5;
        gameStatus = (GameStatus)GetComponent(typeof(GameStatus));
    }
        // Update is called once per frame
    void Update () {
        countDownTime2 -= Time.deltaTime;
        if(gameStatus.score >= 300){Application.LoadLevel("MainScene2");}
        if(countDownTime2 <= 0.0f)
        {gameStatus.isGameOver = true;
        countDownTime2 = 0.0f;
        gameStatus.score +=0;
        }
        scoreTime2 -= Time.deltaTime;
        menuTime2 -= Time.deltaTime;


    }

    void OnGUI() 
    {
        float sw = Screen.width;
        float sh = Screen.height;
        GUI.skin = mySkin2;
        int mScore = gameStatus.score;
        if(countDownTime2 > 0.0f){
        GUI.Label (new Rect(50,0,sw/2,sh/2), "Score : " + mScore.ToString(),"scoreStyle");
        GUI.Label (new Rect(400,0,0,0), "Time : " + countDownTime2.ToString("000") ,"timeStyle");
        }
        if(gameStatus.isGameOver)
        {GUI.Label (new Rect(120,100,sw/2,sh/4),"Game Over","messageStyle");}

        if (scoreTime2 <= 0.0f)
        {
        GUI.Label (new Rect(130,50,0,0), "Your Score is " + mScore.ToString(),"scoreStyle2");   
        }

        if(menuTime2 <= 0.0f){
        // Make the first button. If it is pressed, Application.Loadlevel (1) will be executed
        if(GUI.Button(new Rect(100,220,80,20), "Retry")) {
            Application.LoadLevel("MainScene");}

        if(GUI.Button(new Rect(300,220,80,20), "Menu")) {
            Application.LoadLevel("TitleScene");}
        }
    }
}
4

0 に答える 0