Изменение положения игрока после смены сцен - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь сделать переходную систему похожей на что-то вроде Castlevania, где сцены имеют несколько выходов и входов, хотя у меня возникают проблемы с изменением положения игроков в зависимости от того, какой вход они используют.Я также пытаюсь сохранить все это на лету с помощью одного скрипта.

TL: DR: Нужна помощь в изменении позиции игрока при переходе.

 public class SceneTransition : MonoBehaviour {

    public string sceneTo;
    public Transform newPos;
    public Transform playerChar;

    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Player") {

            SceneManager.LoadScene (sceneTo);
            playerChar.position = newPos.position;
        }
    }


}

1 Ответ

0 голосов
/ 10 февраля 2019

Вам необходимо сохранить новое положение в объекте, который не разрушается между изменениями сцены, или в статической переменной.Затем, когда вы находитесь на новой сцене, примените новую позицию к игроку.

Подход статической переменной:

static Vector3 playernewpos; //In some class, for example MyClass

Перед переключением сцен:

MyClass.playernewpos = newPos.position;

После переключения сцен:

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