Xcode SpriteKit Game - Как настроить интерфейс для экрана нескольких размеров во время установки приложения - PullRequest
0 голосов
/ 21 сентября 2019

Я разрабатываю базовую игру для IOS с использованием SpriteKit.Устройства iPhone бывают разных форм и цветов.Первый из которых вызывает у меня небольшую головную боль.Экраны разных размеров.

Это вопрос из двух частей. Во-первых

Какие решения внедрили другие люди для достижения единого макета при разных размерах дисплея?

Текущее решение, которое я рассматриваю, заключается в поиске типа устройствакак предложено в одном из решений здесь Игра Scale Sprite Kit для всех устройств , я буду реализовывать это с помощью решения проблемы Алессандро Орнано Как определить текущую модель iPhone / устройства? .Затем изменение размера и положения игровых объектов в зависимости от типа устройства.

Второе :

Возможно ли запустить функцию / метод только при установке приложения.Неужели яблоко это позволяет?Если так, то где бы я сделал вызов метода?

1 Ответ

0 голосов
/ 21 сентября 2019

1) Это на 100% зависит от реальной игры.Вы должны спросить себя, какой опыт вы ожидаете получить для своего пользователя.

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

Иногда вы можете сойти с рук, показывая больше сверху.В этом случае вы разрабатываете свою игру, используя самое длинное соотношение сторон (iPhone X), но сохраняете свою пригодность для игры в соответствии с самым коротким соотношением сторон (iPad).

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

Нет необходимости определять, какой телефон вы используете.Это на самом деле плохой подход при разработке, потому что вы сосредоточены только на сегодня, а не на завтра.Многие люди бьют себя ногами, когда выходит X, потому что им нужно было войти и обновить свое приложение, чтобы приспособить его к X.

2) Использовать делегат приложения

...