Кнопка возврата мастера Unity Number - PullRequest
0 голосов
/ 31 августа 2018

Я только что создал Number Game, которая догадывается, о каком числе вы думаете, и показывает его на экране как элемент TextMeshProUGUI. Я хочу добавить кнопку возврата, чтобы при нажатии неправильной кнопки элемент TextMeshProUGUI отображал значение, которое отображалось до того, как пользователь нажал неправильную кнопку.

Сценарий:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class NumberWizard : MonoBehaviour {

[SerializeField] SceneLoader sceneLoader;
[SerializeField] int max;
[SerializeField] int min;
[SerializeField] TextMeshProUGUI guessText;

int guess;

// Use this for initialization
void Start ()
{
    StartGame();
}

void StartGame()
{
    NextGuess();
}

public void OnPressHigher()
{
    min = guess + 1;
    NextGuess();
}

public void OnPressLower()
{
    max = guess - 1;
    NextGuess();
}

void NextGuess()
{
    guess = Random.Range(min, max+1);
    guessText.text = guess.ToString();
}

public void Back()
{
    //Back code should go here
}
}

Просмотр сцены

1 Ответ

0 голосов
/ 31 августа 2018

вам просто нужно запомнить последнее предположение:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;

public class NumberWizard : MonoBehaviour {

[SerializeField] SceneLoader sceneLoader;
[SerializeField] int max;
[SerializeField] int min;
[SerializeField] TextMeshProUGUI guessText;

int guess;
int lastGuess;
int lastMin;
int lastMax;

// Use this for initialization
void Start ()
{
    StartGame();
}

void StartGame()
{
    NextGuess();
}

public void OnPressHigher()
{
    lastMin = min;

    min = guess + 1;
    NextGuess();
}

public void OnPressLower()
{
    lastMax = max;

    max = guess - 1;
    NextGuess();
}

void NextGuess()
{
    lastGuess = guess;

    guess = Random.Range(min, max+1);
    guessText.text = guess.ToString();
}

public void Back()
{
    guess = lastGuess;
    min = lastMin;
    max = lastMax;

    guessText.text = guess.ToString();
}
}

если это не то, что вы хотите, пожалуйста, напишите комментарий, и я отредактирую ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...