Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Botão não executa a função fechar

Olá! Estou trabalhando no projeto criado com a Unity3D intruzido pelo curso de jogos 2D aqui da Alura. No momento quero implementar um botão para fechar o jogo quando clicado, porém enfrento um problema. Criei um botão e a ele atribui um script com a seguinte função:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BotaoFechar : MonoBehaviour
{
    public void FecharJogo()
    {
        Debug.Log("Fechou!");
        Application.Quit();
    } 
}

Sim, o script está associado ao objeto button e também a função OnClick( ). Veja a imagem para entender melhor https://i.imgur.com/LpKFky3.png

Acredito que não funcione em razão de alguma interferência causada pela forma como é dado impulso no avião, pois uso o método GetMouseButtonDown( ), logo qualquer click sobre a tela deve ser entendido para impulsionar o avião... Como posso ajustar isso?

2 respostas

Ok, buildei o jogo e o botão funcionou! Por algum motivo misterioso o Debug.Log não exibe a mensagem no console, porém na build o jogo é fechado ao clicar no botão...

solução!

Ele não funciona por questão de segurança, pois iria fechar o unity em si no qual poderia lhe fazer perder seu progresso no projeto. Por isso ele funciona apenas quando compila o jogo .

Já a mensagem de depuração pode ser que você não tenha atrelado o sistema de depuração à compilação do jogo. Por isso não aparece nada no console. Lembre-se de marcar a função de "Compilação para desenvolvimento" e "Depuração com Script" nas configurações de compilação.