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

Meu visual studio não reconhece o código do c#

Quando clico no arquivo C# script , o visuak studio abre, mas ele não reconhece o comando "transform.Translate(Vector3 , forward);", e quando mesmo assim, coloco o script no personagem, o Unity imprime que existe um erro de compilação

19 respostas

Oi, Thiago, tudo bem?

Tem uma virgula no lugar do ponto ali o comando seria: transform.Translate(Vector3.forward);

Sobre fazer os comandos funcionarem neste outro tópico eu falo sobre algumas configurações que você pode fazer :)

Certo, eu errei no momento de digitar aqui, mas la digitei corretamente, o problema é que ele não esta reconhecendo os codigos em C#

Qual o erro de compilação aparece na Unity?

quando faço o script no misrosoft studio, ele não auto completa e nem parece reconhecer o comando transform como se não reconhecesse o C#, e então mesmo finalizando o comando mo mesmo jeito do video, quando coloco o script no personagem, o unity diz que o script esta com erro de compilação

E qual erro de compilação aparece na Unity?

Sobre o visual studio, deu uma olhada nos passos do outro tópico que enviei? :)

O erro que acontece é esse:  Can´t add Component 'movimentarJogador' because the script class cannot be found. make sure that there are no compile erros and that the file name and class name match.
Já olhei sim, executei eles e não mudou o resultado final.
tem algum lugar que eu possa enviar prints da tela para você ter uma visão melhor?para poder me ajudar, por que isso ta me atrasando bastante no meu curso.

No seu script tem algum erro.

No menu da Unity vá em Window > Console, depois clique em clear e cole os erros que aparecem em vermelho aqui.

Sobre imagens você pode subir num Dropbox, Google Drive, ou algum outro desses e colar o link aqui.

Você pode enviar seu projeto como .zip também se quiser aí a gente pode dar uma olhada nos erros.

mandei um link com os prints acima

Tá vendo na barra embaixo que tem um texto em vermelho. Ali é o console você pode abrir ele em Window > Console no menu da Unity.

A Unity não deixa você fazer muita coisa se você tem um erro no script, você não pode adicionar um script com erro há um objeto. Lá você pode ver mais detalhes do seu erro mas o erro acontece porque a palavra translate está com T minusculo. Troca pra maiúsculo, salva o script e veja se mais algum erro aparece.

Ta dando erro, é como se o visual studio não reconhecesse o C#

Thiago, tudo bem?

Aparece mais algum erro no seu console?

Sobre o visual studio, tente instalá-lo novamente marcando a opção do visual studio tools for unity.

https://docs.microsoft.com/en-us/visualstudio/cross-platform/visual-studio-tools-for-unity?view=vs-2019

Eu já reinstalei ele, por esse link, marcando a opção de c# e unity, mas ele não reconhece e nem autocompleta, os comandos.

Como eu ativo esse autocomplete?

solução!

Vou passar várias coisas que podem ser feitas vai fazendo elas em ordem e a cada uma verifica se voltou a funcionar. Provavelmente uma destas vai solucionar e vou começar pelas mais simples.

A primeira é você quando for instalar o Visual Studio marcar que quer instalar o Visual Studio Tools For Unity. Se você não instalou ou quer garantir pode baixar o instalador novamente e só ir na opção de modificar a instalação. Depois disso verifique no Unity em Edit > Preferences > External Tool se o Visual Studio está selecionado como External Script Editor.

A segunda é que você ir no Unity em Assets > Reimport All e quando o Unity abrir de novo ir em Assets > Open C# Project.

Terceira é fechar o Visual Studio e Unity, abrir a pasta do seu projeto e deletar todos os arquivos com extensões .csproj, .csproj.user e .sln. Depois abra o Unity e clique duas vezes num script e esses arquivos devem ser gerados novamente.

Fiz tudo isso e ainda sim não funcionou, não auto completa

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

public class ControlaJogador : MonoBehaviour
{

    // Update is called once per frame
    void Update()
    {
        float eixoX = Imput.GetAxis("Hozirizontal");
        float eixoZ = Imput.GetAxis("Vertical");

        Vector3 direcao = new Vector3(eixoX,0,eixoZ);

      transform.Translate(direcao);
    }
}

essa é a mensagem que aparece no script: the associated script can be loaded. please fix any compile erros and assng a valid script

mandei o codigo acima os inputs estavam com 'm', e fiz umas duz vezes o ultimo erro, e funcionou, obrigado!!!!!!!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software