@DaNKuL

Как сделать чтобы объект не выходил за границы экрана?

Хочу сделать игру в стиле breakout, но возникла одна проблема. В этой игре есть платформа, которая должна следовать за мышкой только по координате x, и не выходить за границы экрана. Сделать только чтобы она не выходила за границы экрана я могу, но из за того что нулевые координаты объекта считаются от середины, то соответственно когда ты мышку в конец экрана уводишь, то половина объекта будет за экраном. У меня эта платформа в canvas, на котором стоит canvas scaler, из за чего размер объекта всегда разный(на разных разрешениях). И вот возникает вопрос как сделать чтобы ещё учитывалось размер объекта, и как вообще узнавать размер объекта canvas в world координатах? Никакой код я прикреплять я не буду, так как в этом смысла нету, я хочу просто понять как это сделать. Огромное спасибо всем кто поможет, игра 2д
  • Вопрос задан
  • 543 просмотра
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
У скейлера есть референсный размер и масштаб под текущий экран. На худой конец можно посмотреть скейл канваса.
Ответ написан
@Quark_Hell
C++ программист
Создаём canvas и добавляем туда обьект(пусть будет спрайт)

Далее смотрим на числа:
63bc6268ba6ab839840124.png
63bc62823600f257215258.png

Соответсвенно левой границе соответсвуют координаты -540

Для зависимости от размера добавляем учёт размера обьекта:
63bc63d08ad2a850003474.png

Результат:
63bc63e2e44f2822865673.png

Стоит, однако, отметить, что не UI-ный объект не имеет Canvas скейлеров , поэтому контролировать позицию относительно экрана и рамки экрана вам придётся в ручную
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы