Para fazer o player se movimentar com as teclas definadas, adicione um Rigidbody 2D ao objeto do Player.
Mas o que é RigidBody ?
O RigidBody permite que o GameObject atue sob o controle da física para que ele se mova de forma mais realista. (Gravidade, colisões com objetos, etc ...)
Mas como eu controlo a movimentação do player através do RigidBody?
É simples, criamos um novo script C# no Unity e implementamos o seguinte código :
using UnityEngine;
using System.Collections;
public class CompletePlayerController : MonoBehaviour {
public float speed; //Variável de ponto flutuante para armazenar a velocidade de movimento do jogador.
private Rigidbody2D rb2d; //Armazena uma referência ao componente Rigidbody2D necessário para usar a Física 2D.
// Metodo do Inicialização do Unity.
void Start()
{
//Obtenha e armazene no Objeto onde o Rigidbody2D foi criado para que possamos acessá-lo.
rb2d = GetComponent<Rigidbody2D> ();
}
//FixedUpdate é chamado em um intervalo fixo e é independente da taxa de quadros. Coloque o código da física aqui.
void FixedUpdate()
{
//Armazena a entrada horizontal atual no movimento floatHorizontal.
float moveHorizontal = Input.GetAxis ("Horizontal");
//Armazena a entrada vertical atual no movimento de flutuação vertical.
float moveVertical = Input.GetAxis ("Vertical");
//Use os dois pontos flutuantes armazenados para criar um novo movimento variável Vector2.
Vector2 movement = new Vector2 (moveHorizontal, moveVertical);
//Chame a função AddForce do nosso Rigidbody2D rb2d fornecendo movimento multiplicado pela velocidade para mover o nosso jogador.
rb2d.AddForce (movement * speed);
}
}
Bjos do Tio Unk