Страница 1 из 1

Не меняется позиция камеры, хотя, по идеи, должна.

СообщениеДобавлено: 16 апр 2023, 14:29
LandonSt
Сразу говорю, что в юнити меньше недели и вопрос по юнити 2д. В коде наверное есть какая-то ошибка и недочёт, потому что он не меняет позцию камеры.
Скрипт должен работать так:
1. Получить корды игрока.
2. Записать их в переменную.
3. Вставить корды (переменные) в позицию камеры.
Код:


using UnityEngine;

public class CameraMovement : MonoBehaviour
{
[SerializeField] private Transform playerPos;

private static float cameraPosY;
private static float cameraPosX;

private void Update()
{
cameraPosY = playerPos.transform.position.y;
cameraPosX = playerPos.transform.position.x;
new Vector2(cameraPosX, cameraPosY);
}
}

Re: Не меняется позиция камеры, хотя, по идеи, должна.

СообщениеДобавлено: 16 апр 2023, 14:32
1max1
И в какой строчки кода, по твоему, идет присвоение координат камере?

Re: Не меняется позиция камеры, хотя, по идеи, должна.

СообщениеДобавлено: 16 апр 2023, 14:50
LandonSt
по моему в
new Vector2(cameraPosX, cameraPosY);

Re: Не меняется позиция камеры, хотя, по идеи, должна.

СообщениеДобавлено: 16 апр 2023, 14:58
1max1
Тут ты создаешь вектор, но никуда его не присваиваешь, по сути строка ничего не делает.
Смотри гайды на ютубе для самых начинающий, потому что это прям очень слабо.
Сначала надо получить ссылку на камеру, потом уже что-то ей менять. К примеру:

Синтаксис:
Используется csharp
Camera.main.transform.position = new Vector3(x, y, 0);