I am creating a learning game in Unity (C#)
, I made this code to move my player one by one
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// Esta classe é responsável por movimentar e interagir o objeto Player
public class Player : MonoBehaviour {
// Variáveis compostas
private Vector3 speed; // speed é um vetor 3, ele representa cada direção que o Player anda (x e z)
// Variáveis primitivas
private float timer; // timer é um cronômetro, ele representa o tempo de deslocação do player
// Métodos de MonoBehaviour
public void start(){ // Quando o objeto é criado
speed = new Vector3(0,0,0); // speed é iniciado com zero (Player parado)
timer = 0; // timer inicia zerado (Player pode se mover)
}
public void update(){ // Enquanto o objeto existir
if(timer > 0){ // se timer for maior que zero (cronômetro iniciado)
timer -= Time.deltaTime; // timer dimui conforme delta time (1/fps)
transform.Translate(speed * Time.deltaTime); // Player se move com base em speed veses delta time
} else // senão
move(); // Pode-se mover
}
// Métodos da classe
public void move(){ // Move o player em x e z
if(Input.GetKeyDown(KeyCode.A)){ // se existir entrada com tecla A
speed.Set(-1,0,0); // modifica speed para -1 em x
timer = 1; // inicia o timer
} else if(Input.GetKeyDown(KeyCode.D)){ // se existir entrada com tecla D
speed.Set(1,0,0); // modifica speed para 1 em x
timer = 1; // inicia o timer
}
}
}
It does not go sideways when I press the keys ... What can be ???