Отчет по практике: Проектирование и разработка информационных систем

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Ошибка № 3: построение взаимозависимой архитектуры кода

Прототипировать и реализовать функционал в Unity довольно просто. Вы можете использовать любые объекты, обратиться к каждому из них в сцене и получить доступ к любому компоненту. Однако это создает и потенциальную опасность того, что части кода будут полностью зависеть друг от друга.

Ошибка № 4: общие ошибки физики

Перемещая объекты в сцене, помните о наличии коллайдера (базового примитива столкновений) и что изменение его положения заставит движок пересчитать весь физический мир заново. В этом случае вы должны добавить к нему компонент Rigidbody.

Ошибка № 5: тестирование всей функциональности вручную

Можно проверять функциональность вручную разово для какой-то одной операции, экспериментируя в режиме воспроизведения. Однако, чем сложнее приложение, тем сложнее и серьезнее отладка. В Unity есть отличные инструменты для тестирования.

6. Отчет о выборе модели построения информационной системы

1. Осуществить проектирование интерфейса пользователя.

Во-первых, для того, чтобы начать работать, необходимо скачать и установить Unity с официального сайта, что я и сделал.

Следующим шагом идет создание нашего проекта, но перед этим Unity попросит установить дополнительные компоненты, такие как Microsoft Visual Studio 2019 для работы со скриптами. (См. Рис. 3.)

Рисунок 3. Создание проекта.

Чтобы начать добавлять компоненты, я перехожу в настройки платформы и выбираю Android и жму на Switch Platform. После я добавляю первую платформу и персонажа. Платформе добавил физику, то есть Rigidbody 2d, где ставим значение Kinematic и BoxCollider 2D. (См. Рис. 4.)

Рисунок 4. Первые объекты.

Когда объект находится на поле, идет создание управление для персонажа. Я создал скрипт для персонажа, так как управление будет с помощью акселерометра, добавляю строчку кода, благодаря которой, все будет работать. (См. Рис. 5.)

Рисунок 5. Акселерометр.

Дальше я создаю автоматическую генерацию платформ. Для этого я создаю папку Pictures и добавляю в нее платформу, дальше создаю скрипт. В меню иерархии создаю новый объект, который называю PlatformGeneratore. Добавляю туда скрипт и теперь платформы появляются самостоятельно. (См. Рис. 6.)

Рисунок 6. Скрипт PlatformGeneratore.

После этого идет создание мертвой зоны, то есть когда персонаж будет падать вниз, он погибает. Для этого я возвращаюсь в скрипт «Platform» и дополняю его необходимыми командами, дальше создаю в иерархии новый объект «DeadZone» и присоединяю его к камере. Добавляю ему «Box Collider 2D» и «Rigidbody 2D» Также чтобы все работало, я в скрипте «Doodle» добавляю строчку кода, благодаря которой, когда объект будет соприкасаться с мертвой зоной, он будет погибать. (См. Рис. 7.)

Рисунок 7. Скрипт «DeadZone».

В принципе игра готова, но, как и в любой другой игре, есть главное меню, которое позволяет настроить игру и не начинать ее сразу после запуска. Для этого в папке сцены, я создаю еще одну и называю ее «MainMenu». В иерархии я создаю «Canvas» и в нем же создаю «Button» увеличиваю и вставляю также еще одну кнопку. Изменяю текст на кнопке и в иерархии создаю новый объект. В настройках платформы необходимо добавить новую сцену. После перехожу на другую и так же добавляю сцену. (См. Рис. 8.)

Рисунок 8. Добавление сцен.

Дальше создаю C# скрипт, добавляю строчки кода и привязываю «GameObject» к «Canvas». На кнопках добавляю созданный объект. (См. Рис. 9.)

Рисунок 9. Скрипт камеры.

Когда я создал уже готовое меню, я начинаю его оформлять, в первую очередь заменяю кнопки, а потом ставлю задний фон и название игры. Также соединяю мое меню с самой игрой, просто перетаскивая сцену выше основной. (См. Рис. 10.)

Рисунок 10. Соединение сцен.

В итоге, главное меню, будет запускаться сразу, как только приложение откроется.

7. Отчет об проектировании и разработки интерфейса пользователя

После того как, весь проект был создан, необходимо провести отладку приложения и просмотреть все скрипты, а также объекты, которым я давал физику. После запуска игры, я в первую очередь проверяю игровые кнопки в главном меню. Кнопка «Играть» работает и хорошо откликается на нажатие, после чего запускается сам игровой процесс. (См. Рис. 11.)

Рисунок 11. Главное меню.

Акселерометр работает успешно, персонаж передвигается влево и вправо, а также прыгает вверх. После игрового процесса, я проверил, как работает кнопка «Выход», после нажатия она выбрасывает на рабочий стол, соответственно кнопка работает отлично. Я тестировал на телефоне Honor 8A. интерфейс мобильный игра скрипт

Дальше я протестировал на телефоне Xiaomi Redmi Note 8T. Для начала я повторил все те же действия, также установил и открыл игру. Проверил работоспособность кнопок и игровой процесс. Здесь появилась проблема. Так как разрешение этого телефона чуть больше, по краям появляются полосы без фона, для этого я зашел в Unity увеличил фон на данном разрешении. (См. Рис. 12.)

Рисунок 12. Увеличение фона.

После появилась вторая проблема, это то, что перестал работать акселерометр. Чтобы это решить, я открыл скрипт, который отвечает за передвижение персонажа. (См. Рис. 13.)

Рисунок 13. Скрипт камеры.

На картинке мы видим, что код не работал из-за отсутствия команды «float horizontal» эта переменная персонажа, то есть эта команда подключает акселерометр. Дальше я написал команду, и снова проверил работоспособность продукта. (См. Рис. 14.)

Рисунок 14. Переменная «float horizontal».

Чтобы проверить изменения, я переношу на телефон уже новый измененный файл, также устанавливаю и запускаю. Нажимаю «Играть» и смотрю изменения. (См. Рис. 15.)

Рисунок 15. Работоспособность.

Как видно, полоски по краям исчезли, а персонаж снова может двигаться. На этом мое тестирование подошло к концу, было выявлено две ошибки. Устранение ошибок было не сложным и успешным.

Источник: https://otherreferats.allbest.ru/download/1384590/