Unity(C#) - Как перемещать объект?

196
15 февраля 2018, 12:53

Нужно сделать бесконечный цикл перемещения объекта: От стартовой позиции на определенное расстояние вправо, пройдя это расстояние, повернутся, и пройти это расстояние + расстояние влево, и так бесконечно. Читал документацию по transform.position, но не получилось реализовать. Желательно привести примеры кода, за ранее спасибо за помощь. P.S. Я новичок в программировании

Answer 1

Используйте корутины для перемещения. К примеру приведу код отдаления камеры и перемещения фокуса на новый объект. Камера летит к новому объекту+дистанция между объектом и камерой меняется

public void UpdatePosition(float distance, Transform newCenter)
{
    if (Distance != distance)
    {
        Distance = distance;
    }
    StartCoroutine(ChangeCenter(newCenter.position));
    StartCoroutine(ChangeDistance());
}
public IEnumerator ChangeDistance()
{
    var selfTransform = GetComponent<Transform>();
    var CurentDistance = Vector3.Distance(selfTransform.position, ParentTransform.position);
    var step = (CurentDistance - Distance) / 20;
    for (int i = 0; i < 20; i++)
    {
        selfTransform.position += selfTransform.forward * step;
        yield return new WaitForSeconds(.01f);
    }
}
public IEnumerator ChangeCenter(Vector3 newCenter)
{
    var move = (ParentTransform.position - newCenter) / 20;
    for (int i = 0; i < 20; i++)
    {
        ParentTransform.position -= move;
        yield return new WaitForSeconds(.01f);
    }
}
READ ALSO
Нужна практика c# [требует правки]

Нужна практика c# [требует правки]

Где можно взять практические задания по c# , чтобы можно было использовать в реальной работе

310
Конфликт, ошибки версий библиотек

Конфликт, ошибки версий библиотек

Проект не обновленный, поддерживает версию Android 40 API level 14 добавляю SDK Appodeal 3

285
Оптимизация генератора комбинаций c#

Оптимизация генератора комбинаций c#

Мне нужно получить все возможные сочетания символов из массива определенной длины, немного погуглив (дабы не изобретать велосипед) нашел...

168
C# Scaling нарисованного сверху PictureBox

C# Scaling нарисованного сверху PictureBox

Здравствуйте, рисую квадратные зоны на PictureBox который масштабируется вот так:

275