Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

como saber cual es la posición anterior a en la que estuvo un objeto del juego?

Iniciado por Ness, Septiembre 05, 2016, 02:08:58 AM

Tema anterior - Siguiente tema
Necesito saber como guardar la posición  anterior a la que esta un objeto del juego.


Si quieres un Bake de posiciones tambien puedes hacerlo asi
 

public int maxBakedPositions = 30;
public List<Vector3> bakedPositions = new List<Vector3>();
//update
bakedPositions.Add(transform.position);
if(maxBakedPositions == bakedPostions.Length){
bakedPostions.RemoveAt(0);
}

 
 
 
 

Necesitarías guardar un registro de posiciones. Una lista o array te vendría bien..

si solo necesitas la posicion del frame anterior podrias guardarlo en una variable
 

private Vector3 lastPosition; //Almacena la ultima posicion del jugador
private Vector3 dir; //Variable para el ejemplo
private float speed; //Variable para el ejemplo
private void Start () {
  lastPosition = transform.position; //Le da un valor inicial a lastPosition
 
  dir = Vector3.right * Random.Range(-1, 1);
}
private void Update () {
  //Mover el personaje o lo que sea que haga el codigo
  transform.position += dir * speed * Time.deltaTime;
 
  //Aqui usar la variable lastPosition para lo que necesites
  if (lastPosition.x > transform.position.x) {
    Debug.Log("Te estas moviendo hacia la izquierda");
  }
  else {
      Debug.Log("Te estas moviendo hacia la derecha");
  }
 
  //Actualizas lastPosition
  lastPosition = transform.position;
}

 
 

Etiquetas: