1
resposta

[Dúvida] CS1061 Aula 07 - Implementando a movimentação do player

Copiei o código da descrição da aula e mesmo assim o erro se mantém. Como eu posso arrumar isso?

CS1061: ‘PlayerControls.GameplayActions’ não contém uma definição para "Movement" e não foi possível encontrar nenhum método de extensão "Movement" que aceite um primeiro argumento do tipo ‘PlayerControls.GameplayActions’ (você está se esquecendo de usar uma diretiva ou uma referência de assembly?)

O código:

public class InputManager{
private PlayerControls playerControls;

public float Movement => playerControls.Gameplay.Movement.ReadValue<float>();

public InputManager()
{
    playerControls = new PlayerControls();
    playerControls.Gameplay.Enable();
}

}

1 resposta

Olá, Jonatas! Como vai?

Esse erro CS1061 geralmente indica que o compilador não consegue encontrar a propriedade ou método que você está tentando acessar. No seu caso, parece que o problema está relacionado à propriedade Movement dentro de PlayerControls.GameplayActions.

Aqui estão algumas dicas para tentar resolver o problema:

  1. Verifique a classe PlayerControls: certifique-se de que a classe PlayerControls foi gerada corretamente e que ela realmente contém a propriedade Movement dentro de GameplayActions. Às vezes, ao modificar o Input Actions no Unity, é necessário regenerar o script C# associado.

  2. Regenerar o script de input: se você estiver usando o novo sistema de Input do Unity, vá até a janela de Input Actions, faça alguma alteração (como adicionar e remover uma ação temporariamente) e então clique em "Save Asset". Isso deve regenerar o script automaticamente.

  3. Checar o nome da ação: verifique se o nome da ação no editor de Input Actions é exatamente "Movement". O nome deve ser exatamente igual, incluindo maiúsculas e minúsculas.

Espero que uma dessas sugestões ajude a resolver o problema. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.