Unity3d - игрок меняет полосу плавно - PullRequest
0 голосов
/ 14 марта 2019

Новичок работает над простым игровым прототипом, для которого требуется playercharacter control) сменными полосами плавно .Я видел много ответов, но не смог достичь желаемого результата.

Я пытался использовать следующие способы, но тщетно!

  1. Vector3.Lerp
  2. transform.position
  3. tranform.translate

Может кто-нибудь предложить лучший способ сделать это?

1 Ответ

1 голос
/ 14 марта 2019
private IEnumerator MoveLane(float x, float y)
{
    Vector2 initialPosition = transform.localPosition;
    Vector2 destination = new Vector2(x, y);
    float delta = 0;
    while(transform.localPosition != destination)
    {
        delta += Time.deltaTime * speedModifier;
        characterController.Move(Vector2.Lerp(initialPosition, destination, delta));
        yield return new WaitForEndOfFrame();
    }

}

Запустите эту сопрограмму, если вы хотите поменять местами дорожки, где x и y - это требуемая координата назначения.Вы можете регулировать скорость с помощью speedModifier (1 означает «нормальный»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...