Как сделать игру адаптивной для всех мобильных разрешений
Я делаю простую игру в единстве с использованием C#, но она не реагирует на все разрешения экрана мобильного телефона. что я могу сделать, чтобы сделать его отзывчивым для всех мобильных разрешений. Хотя для холста я использовал скалярный компонент холста, что я могу сделать для фонового изображения, которого нет на холсте, как сделать так, чтобы оно покрывало весь экран.
2 ответа
Canvas
должен иметь CanvasScaler
компонент, прикрепленный к нему, если вы создали его из меню или если он был создан автоматически путем добавления другого элемента пользовательского интерфейса в сцену. Если нет, просто добавьте компонент.
После этого выберите самое низкое разрешение, которое вы хотите поддерживать, и затем создайте для него пользовательский интерфейс. Напоминание: если вы хотите работать с процентами, используйте якоря и сводку вместо размера в пикселях. Если вы хотите разделения между компонентами и / или фиксированными пропорциями, используйте комбинации Horizontal Layout
, Vertical Layout
, Layout Element
, Aspect Ratio Fitter
и невидимый Container
панели.
После того, как ваша структура пользовательского интерфейса готова, вы можете настроить свойства CanvasScaler
достичь желаемого эффекта. Вы, вероятно, захотите Scale With Screen Size
(используя ваше эталонное разрешение), с Match Width Or Height
и полный 0
(соответствие по ширине), 0.5
(совпадают одинаково по W и H) или полный 1
(соответствует по высоте), так как именно это работает для большинства игр, но это зависит от вашей целевой ориентации (книжной или альбомной) и от вашей игры.
Вы также можете использовать якоря, как говорится: Базовый макет и дизайн пользовательского интерфейса для нескольких разрешений.
Screen.width и Screen.height - единственные методы, которые вам нужны.
Передайте информацию о высоте, ширине и местоположении вашим объектам в зависимости от размера экрана. Более сложная часть изучения графического интерфейса. Попробуйте и сообщите нам, чтобы я получил подтверждение