Я хочу иметь индикатор того, насколько быстро вы двигаетесь, как элемент пользовательского интерфейса. Однако я получаю сообщение об ошибке: не может использовать локальную переменную «lastPosition», прежде чем она объявлена. Объявление локальной переменной скрывает поле «scoreScript.lastPosition».
Я пробовал много разных способов, получая много ошибок (так как я довольно плохо знаком с языком кодирования для единства), и этот из них имел для меня наибольшее значение, к сожалению, эта ошибка все еще существует.
Text shownScore;
public GameObject player;
Vector3 lastPosition;
// Start is called before the first frame update
void Start()
{
lastPosition = player.transform.position;
shownScore = GetComponent<Text>();
}
// Update is called once per frame
void Update()
{
Vector3 offset = player.transform.position - lastPosition;
shownScore.text = offset.sqrMagnitude.ToString("#.00");
Vector3 lastPosition = player.transform.position;
}