Estou com um problema grande ao escrever o código irei demonstrar o erro em vídeo a seguir: https://streamable.com/8offhi
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou com um problema grande ao escrever o código irei demonstrar o erro em vídeo a seguir: https://streamable.com/8offhi
Oi, Teodoro, tudo bem?
Zera a posição em Y do seu Jogador pra ver se o problema se resolve.
Mas pelo problema parece que algum dos objetos dentro do prefab está com a posição errada, se quiser você pode baixar o prefab da aula de novo e substituir com o seu.
Como posso substituir?
Você pode pegar os arquivos do inicio do curso ou ao final de cada módulo tem o link para download e jogar no seu projeto refazendo a configuração de scripts, e outras coisas depois
Deve ter faltado alguma chave ou algo nesse script, quer colocar ele aqui?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ControlarOJogador : MonoBehaviour
{
public float Velocidade = 10;
Vector3 direcao;
public LayerMask MascaraChao;
// Update is called once per frame
void Update()
{
float eixoX = Input.GetAxis("Horizontal");
float eixoZ = Input.GetAxis("Vertical");
direcao = new Vector3(eixoX, 0, eixoZ);
if (direcao != Vector3.zero)
{
GetComponent<Animator>().SetBool("Movendo", true);
}
else
{
GetComponent<Animator>().SetBool("Movendo", false);
}
}
private void FixedUpdate()
{
GetComponent<Rigidbody>().MovePosition
(GetComponent<Rigidbody>().position +
(direcao * Velocidade * Time.deltaTime));
Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(raio.origin, raio.direction * 100, Color.red);
RaycastHit impacto;
if (Physics.Raycast(raio, out impacto, 100, MascaraChao))
{
Vector3 posicaoMiraJogador = impacto.point - transform.position;
posicaoMiraJogador = transform.position;
Quaternion novaRotacao = Quaternion.LookRotation(posicaoMiraJogador);
GetComponent<Rigidbody>().MoveRotation(novaRotacao);
}
}
}
}É este
Parece ter uma chave a mais depois do FixedUpdate, pode conferir?
Cola todos os erros aqui, aí a gente consegue conferir cada um
Mas seu script não tava funcionando antes, o que mudou do vídeo pra cá? você criou um script novo?
Assets\ControlarOJogador.cs(52,36): error CS1519: Invalid token '(' in class, struct, or interface member declaration Assets\ControlarOJogador.cs(52,37): error CS8124: Tuple must contain at least two elements. Assets\ControlarOJogador.cs(52,38): error CS1519: Invalid token '.' in class, struct, or interface member declaration Assets\ControlarOJogador.cs(52,63): error CS1001: Identifier expected Assets\ControlarOJogador.cs(54,5): error CS1022: Type or namespace definition, or end-of-file expected Assets\ControlarOJogador.cs(55,5): error CS1022: Type or namespace definition, or end-of-file expected Assets\ControlarOJogador.cs(56,1): error CS1022: Type or namespace definition, or end-of-file expected
Quando eu tiro o { do FixedUpdate.
Assets\ControlarOJogador.cs(56,1): error CS1022: Type or namespace definition, or end-of-file expected
Quando tá com o {
não é o { é a chave de } depois do FixedUpdate tem duas de }
tem que tirar 1 desse: }
isso aí!
Assets\Prefabs\Scripts\ControlarOJogador.cs(31,18): error CS0111: Type 'ControlarOJogador' already defines a member called 'FixedUpdate' with the same parameter types Assets\Prefabs\Scripts\ControlarOJogador.cs(11,10): error CS0111: Type 'ControlarOJogador' already defines a member called 'Update' with the same parameter types Assets\Prefabs\Scripts\ControlarOJogador.cs(5,14): error CS0101: The namespace '' already contains a definition for 'ControlarOJogador'
deu esses erros
É porque tem dois scripts iguais, acho que você duplicou esse script.
Tem um em assets e outros na pasta prefab
https://streamable.com/qpcn8q Este erro dos } concertado! Mas agora o zumbi não rotaciona (vi pelo vídeo).
Acho que deve ter faltado configurar no script a MascaraChao e a tag Jogador no objeto. Dá uma conferida nesses.
Tem dois scripts no seu componente que não existem, você deve ter pego o da aula que estava mais avançado certo?
Então tem que apagar os meus componentes porque seus scripts tem nomes diferentes.
Tudo resolvido, obrigado por toda ajuda!