Unity Android测验显示在回答完所有问题后,答案不正确

时间:2018-06-16 07:18:37

标签: c# unity3d

我已经在这个应用程序上工作了一段时间,我只是想知道是否有任何可能性我可以制作此代码的逻辑。病得很直白。在我回答完所有问题之后,我想展示测验的结果。我想在例如文本中显示结果。如果我在第一个问题上错了,那么在比赛结束后我应该知道我的错误答案是什么。这是我在团结教程中的代码。

  

这是我的GameController.cs脚本,它操纵整个游戏   公共类GameController:MonoBehaviour {

public Text questionDisplayText;
public Text scoreDisplayText;
public Text timeRemainingDisplayText;
public SimpleObjectPool answerButtonObjectPool;
public Transform answerButtonParent;
public GameObject questionDisplay;
public GameObject roundEndDisplay;

private DataController dataController;
private RoundData currentRoundData;
private QuestionData[] questionPool;

private bool isRoundActive;
private float timeRemaining;
private int questionIndex;
private int playerScore;
private List<GameObject> answerButtonGameObjects = new List<GameObject>();

// Use this for initialization
void Start () 
{
    dataController = FindObjectOfType<DataController> ();
    currentRoundData = dataController.GetCurrentRoundData ();
    questionPool = currentRoundData.questions;
    timeRemaining = currentRoundData.timeLimitInSeconds;
    UpdateTimeRemainingDisplay();

    playerScore = 0;
    questionIndex = 0;

    ShowQuestion ();
    isRoundActive = true;

}

private void ShowQuestion()
{
    RemoveAnswerButtons ();
    QuestionData questionData = questionPool [questionIndex];
    questionDisplayText.text = questionData.questionText;

    for (int i = 0; i < questionData.answers.Length; i++) 
    {
        GameObject answerButtonGameObject = answerButtonObjectPool.GetObject();
        answerButtonGameObjects.Add(answerButtonGameObject);
        answerButtonGameObject.transform.SetParent(answerButtonParent);

        AnswerButton answerButton = answerButtonGameObject.GetComponent<AnswerButton>();
        answerButton.Setup(questionData.answers[i]);
    }
}

private void RemoveAnswerButtons()
{
    while (answerButtonGameObjects.Count > 0) 
    {
        answerButtonObjectPool.ReturnObject(answerButtonGameObjects[0]);
        answerButtonGameObjects.RemoveAt(0);
    }
}

public void AnswerButtonClicked(bool isCorrect)
{
    if (isCorrect) 
    {
        playerScore += currentRoundData.pointsAddedForCorrectAnswer;
        scoreDisplayText.text = "Score: " + playerScore.ToString();
    }

    if (questionPool.Length > questionIndex + 1) {
        questionIndex++;
        ShowQuestion ();
    } else 
    {
        EndRound();
    }

}

public void EndRound()
{
    isRoundActive = false;

    questionDisplay.SetActive (false);
    roundEndDisplay.SetActive (true);
}

public void ReturnToMenu()
{
    SceneManager.LoadScene ("MenuScreen");
}

private void UpdateTimeRemainingDisplay()
{
    timeRemainingDisplayText.text = "Time: " + Mathf.Round (timeRemaining).ToString ();
}

// Update is called once per frame
void Update () 
{
    if (isRoundActive) 
    {
        timeRemaining -= Time.deltaTime;
        UpdateTimeRemainingDisplay();

        if (timeRemaining <= 0f)
        {
            EndRound();
        }

    }
}

}

  

这是我的AnswerButton.cs脚本,其中包含答案的名称   公共课AnswerButton:MonoBehaviour {

public Text answerText;

private AnswerData answerData;
private GameController gameController;

// Use this for initialization
void Start () 
{
    gameController = FindObjectOfType<GameController> ();
}

public void Setup(AnswerData data)
{
    answerData = data;
    answerText.text = answerData.answerText;
}


public void HandleClick()
{
    gameController.AnswerButtonClicked (answerData.isCorrect);
}

}

0 个答案:

没有答案