Como movimentar Personagem | Unity
Resumo
Neste curso gratuito, você irá aprender a criar um jogo de plataforma 2D usando a Unity. O jogo de plataforma é um gênero dos jogos digitais, onde o player pode andar, correr e pular. O mais interessante desse estilo de jogo são os diversos desafios e mecânicas que você pode colocar, e claro que os inimigos fazem toda a diferença.
Vamos começar criando o movimento do personagem, utilizando o novo sistema de entrada da Unity o que torna a codificação muito mais flexível.
Sistema de Entrada
O novo sistema de entrada da unity permite que você configure rapidamente controles para múltiplas plataformas, de dispositivos móveis a realidade virtual. Por essa razão devemos usar.
Movimento do personagem
O movimento do personagem no sistema 2D pode ser realizado usando componentes como: Transform ou RigidBody2D. Nessa aula, vamos utilizar o componente RigidBody2D, conforme você pode ver na vídeo aula a seguir.
Logo, podemos criar a classe ManagerInput, a qual será responsável por capturar as informações de entrada e iremos fazer a codificação a seguir:
Classe ManagerInput
using UnityEngine; using UnityEngine.InputSystem; public class ManagerInput : MonoBehaviour { private float inputX; public void SetInputMove(InputAction.CallbackContext value) { inputX = value.ReadValue<Vector2>().x; } public float GetInputX() { return inputX; } }
Após a classe ManagerInput deve ser associada no objeto Player.
Seguimos com a classe Player, conforme o código a seguir:
Classe Player
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { [Header("Dependencies")] [SerializeField] ManagerInput managerInput; [SerializeField] Rigidbody2D rigidBody2D; [Header("Physics")] [SerializeField] float speed; // Start is called before the first frame update void Start() { } // Update is called once per frame void FixedUpdate() { Move(); } private void Move() { rigidBody2D.velocity = new Vector2(managerInput.GetInputX() * speed, rigidBody2D.velocity.y); }
O movimento é realizado pela propriedade velocity do componente de física Rigidbody2D.
Agora, é sua vez de colocar a mão na massa!
Aproveite para pegar um ebook de criação de um jogo 2D.