Я занимаюсь разработкой 2D-игры в Unity, и у меня возникла проблема.Я пытаюсь переместить спрайт из точки А в точку Б, когда пользователь нажимает.У меня есть Vector3 как для начальной точки, так и для цели.
Мне удалось получить желаемое изменение в положении, но только в одном кадре.Я хочу, чтобы спрайт действительно скользил, но я не смог.Я пытался использовать Coroutines, но безуспешно.
IEnumerator CubeSlider(Vector3 start, Vector3 target)
{
while(start.x != target.x)
{
start.x += 0.1f;
yield return null;
}
}
Я принимаю во внимание только x, потому что на оси y нет движения.Я также попытался использовать:
start = Vector3.MoveTowards(parameters here)
, но это не увенчалось успехом.
Я запустил и вызвал эту подпрограмму в моей функции "onMouseDown ()" сценария следующим образом:
StartCoroutine(CubeSlider(square1.transform.position, p3));
Я ожидаю, что когда пользователь делает щелчок, спрайт будет плавно перемещаться от начала к цели.Я не получаю никаких ошибок компилятора, он просто не движется вообще.