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

Estou com dificuldades para resolver o erro CS1513 C# } expected

Olá prof, tudo bom? Eu estou com dificuldades em resolver o erro apontado acima. O código está exatamente ao feito na aula, mas ele insiste em dizer que o compilador esperava uma chave de fechamento, mesmo que já tenha.

void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, Jogador.transform.position);

        if (distancia > 2)
        {
            Vector3 direcao = Jogador.transform.position - transform.position;
            GetComponent<Rigidbody>().MovePosition
                (GetComponent<Rigidbody>().position +
                direcao.normalized * Velocity * Time.deltaTime);

            Quaternion novaRotacao = Quaternion.LookRotation(direcao);
            GetComponent<Rigidbody>().MoveRotation(novaRotacao);

        }
    }

(Nota: Seria a última chave do código que se diz "na solidão" )

5 respostas

Olá Bruno, tudo bem?

A parte do código que compartilhou realmente está correto. Poderia compartilhar a classe inteira?

Aguardo seu retorno.

solução!

E aproveitando a última resposta da Ana, além do código todo seria legal o erro completo também pra facilitar achar o local :)

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

public class ControlaInimigoT : MonoBehaviour
{
    public GameObject Jogador;
    public float Velocity = 3;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }

    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, Jogador.transform.position);

        if (distancia > 2)
        {
            Vector3 direcao = Jogador.transform.position - transform.position;
            GetComponent<Rigidbody>().MovePosition
                (GetComponent<Rigidbody>().position +
                direcao.normalized * Velocity * Time.deltaTime);

            Quaternion novaRotacao = Quaternion.LookRotation(direcao);
            GetComponent<Rigidbody>().MoveRotation(novaRotacao);

        }
    }

Bem, aqui está o código todo desde o using System.Collections; bem prof, o erro em si ele só diz que seria CS1513 C# } expected e que seria no ControlaInimigoT (Assets\Prefabs\Scripts\ControlaInimigoT.cs(37,6): error CS1513: } expected), seria essa a descrição completa do erro?

Opa! Achei o erro no código, mas a solução dele me gerou uma dúvida: Pq a chave de fechamento necessitava de outra chave de fechamento?

Faltou a última mesmo que a chave que fecha a class lá de cima :)