1
resposta

Erro Static

Fiz o código conforme a aula e fica dando o erro:

Erro CS0120 Uma referência de objeto é necessária para o campo, o método ou a propriedade "ControlarCanvas.FinalizarJogo()" não estática

public class ControlarCanvas : MonoBehaviour
{
    [SerializeField]
    private GameObject imagemGameOver;

    public void FinalizarJogo()
    {
        Time.timeScale = 0;
        imagemGameOver.SetActive(true);
    }
}

Aí se eu coloco o static no FinalizarJogo, o erro do static passa a aparecer para o GameObject, só que se eu torno o GameObject estatico eu nao consigo alterar ele para true or false no SetActive

1 resposta

Oi, Marcelo! Tudo bem?

Peço desculpas pelo tempo que aguardou por uma resposta.

No método FinalizarJogo(), faltou referenciar explicitamente imagemGameOver, membro pertencente à classe ControlarCanvas, utilizando a palavra-chave this. Após adicioná-la, chegaremos no seguinte resultado:

public class ControlarCanvas : MonoBehaviour
{
    [SerializeField]
    private GameObject imagemGameOver;

    public void FinalizarJogo()
    {
        Time.timeScale = 0;
        this.imagemGameOver.SetActive(true);
    }
}

Espero que isso ajude! Caso o problema persista ou surjam novas dúvidas, fico à disposição.

Abraços.