Я использую единство, и я хочу показать изображение «игры» в моем проекте 2D-единства, когда игра закончена. Например, у меня есть счетчик в моем коде от 0; когда счетчик достигнет 3, игра закончится, и вы проиграете. Но я не знаю, как показать Game Over Message. Это сообщение - это картина. , и я хочу добавить кнопку «Играть снова», после показа игры над сообщением. Как я могу это сделать?Как показать изображение в единстве по коду
ответ
int counter = 0;
GameObject gameOver;
public void IncreaseCounterBy(float amt)
{
counter += amt;
gameOver.SetActive(counter >= 3 && gameOverPanel != null);
}
или
int counter = 0;
public void IncreaseCounterBy(float amt)
{
counter += amt;
if(counter >= 3)
Application.LoadLevel("GameOver");
}
вы должны добавить объект с изображением и кнопки, а затем отключить объект с помощью инспектора и когда ваш счетчик достигнет 3 вы можете активировать объект по коду ..
что-то вроде:
public GameObject gameOverPanel;
int counter = 0;
public void YourCounterCode()
{
//here's your code
if(counter >= 3 && gameOverPanel != null)
gameOverPanel.SetActive(true);
}
, что должно быть достаточно для вашей цели
забыл упомянуть .. вы должны снова отключить объект (gameOverPanel) кодом при нажатии кнопки «Воспроизвести снова», если вы не перезапустите всю сцену –
Во-первых, вы должны иметь ссылку на свою игру через GameObject в своем игровом контроллере (код игры). Этот объект gameObject должен помечаться как дезактивированный по умолчанию.
Во-вторых, когда игра окончена или проигрывается проигрыватель, вы должны вызвать метод «wait» и показать GameObject. Этот метод должен быть сопрограммой, если вы считаете свой счетчик счетчиком времени.
public GameObject myGameOverGO;
public void GameEnds()
{
//....
StartCoroutine(DisplayGameOver())
//....
}
private IEnumerator DisplayGameOver()
{
yield return new WaitForSeconds(3.0f);
myGameOverGO.SetActive(true);
}
Для этого используется правильный тег, который является Unity3d. – Andy