Создание обучающего приложения по информатике на базе Unity
Автор: Фролов Виталий Николаевич
Рубрика: 12. Технические средства обучения
Опубликовано в
IX международная научная конференция «Актуальные задачи педагогики» (Москва, июнь 2018)
Дата публикации: 09.06.2018
Статья просмотрена: 2826 раз
Библиографическое описание:
Фролов, В. Н. Создание обучающего приложения по информатике на базе Unity / В. Н. Фролов. — Текст : непосредственный // Актуальные задачи педагогики : материалы IX Междунар. науч. конф. (г. Москва, июнь 2018 г.). — Москва : Буки-Веди, 2018. — С. 88-93. — URL: https://moluch.ru/conf/ped/archive/279/14355/ (дата обращения: 05.12.2024).
В данном обзоре нами были рассмотрены особенности программирования в Unity, применения С#, и использования хостинга. А также процесс создания обучающего приложения с помощью инструмента для создания двух и трехмерных приложений Unity.
Ключевые слова: Unity, Базы данных, модуль, C#, тесты, лекции/
Целью данной работы является разработка обучающего приложения с помощью программы Unity. В качестве предметной области — была взята дисциплина информатика.
В данной работе мы рассмотрим теоретические аспекты создания программных приложений с помощью Unity, обоснуем выбор движка и представим структуру созданного приложения.
Итак, Unity — это трехмерный игровой движок, разработанный компанией Unity Technologies [4]. Данная программа написана на языке и активно поддерживается разработчиками. Они постоянно выпускают обновления, как документации, так и функционала. Unity имеет свой API, написанный разработчиками, а также огромное количество классов, методов, функций и т. д. Все это значительно облегчают процесс разработки. Создавая логику приложения, разработчик непременно пользуется данным API. Поведение игровых объектов контролируется с помощью компонентов (Components), которые присоединяются к ним. Несмотря на то, что встроенные компоненты Unity разнообразны, разработчик обнаружит, что ему нужно выйти за пределы их возможностей, чтобы реализовать собственные идеи. Unity позволяет создавать собственные компоненты, используя скрипты. Они позволяют активировать игровые события, изменять параметры компонентов, и отвечать на ввод пользователя каким угодно способом.
Unity изначально поддерживает несколько языков программирования: C#; UnityScript язык, разработанный специально для использования в Unity по образцу JavaScript; в дополнение к этим, с Unity могут быть использованы и многие другие языки программирования семейства.NET, если они могут компилировать совместимые DLL. В комплекте с Unity поставляется MonoDevelop. Это свободная среда разработки, предназначенная для создания приложения на C#. С помощью данной IDE можно с комфортом писать скрипты. Также можно использовать и Visual Studio, выбор всегда остается за разработчиком проекта [1].
Система пользовательских интерфейсов позволит разработчику создать пользовательские интерфейсы быстро и интуитивно. Это новая система, разработанная для Unity. Данная система имеет ряд двухмерных объектов чем-то напоминающих элементы Windows Form, но адаптированных под игровой движок. В наличии есть Toggle (check button), Button, Slider, Scroll Bar, Drop Down, Input Field (Text box), Text (Label), Image, Scroll View. Эти элементы могут быть как двухмерными, так и трехмерными, что значительно расширяет область их применения, также они позволяют сделать интерфейс, благодаря которому пользователь сможет просто взаимодействовать с приложением. Можно выводить списки групп, текст, вводить текст необходимый для работы, выбирать какие-нибудь параметры и многое другое [2].
Система графического интерфейса UI кардинально отличается от старой версии GUI и имеет новые возможности. Так же существует сторонняя система, позволяющая создавать графический интерфейс, называемая NGUI. NGUI и UI очень похожи в некоторых моментах, что облегчает переход с одной системы на другую при необходимости.
Таким образом, для разработки обучающего приложения, нами был выбран выше обозначенный программный продукт Unity, который имеет удобный интерфейс, большое «комъюнити» (англ. community — сообщество) и детальную документацию по всему функционалу программы. В ходе разработки проекта будущего приложения была создана структурная модель, представленная на рисунке 1:
Рис. 1. Структурная модель приложения
Данная модель позволяет наглядно представить структуру конечного приложения и позволяет разделить сам процесс разработки на несколько этапов с выделением необходимых задач. Итак, создание проекта, требует решения двух задач, а именно приложение должно состоять из двух частей: клиентское и серверное приложение.
В нашем случае, клиентское приложение будет первым модулем программы, и предназначено для студентов, а серверное, второй модуль, будет предназначено для администрирования. Каждый модуль будет иметь свой уникальный функционал, и будет дополнять друг друга.
Для работоспособности серверного приложения в качестве хостинг-провайдера мы выбрали «Beget.com». Он является одним из крупнейших хостинг-провайдеров России, зарекомендовал себя высоким уровнем обслуживания, профессиональной технической поддержкой, надежностью, скоростью, безопасностью, качеством услуг и развитием собственных программных продуктов. [3]
Итак, нами был разработан обучающий софт — программное приложение, которое состоит из двух основных программных модулей:
Первый — это клиентское приложение, или модуль студента, представленный на рисунке 2. Он предназначен непосредственно для студентов, и содержит в себе разделы: лекции, калькулятор и тесты.
Рис. 2. Модуль студента
Данные разделы дополняют друг друга. В одном из них студент изучает необходимый теоретический материал, в другом производит необходимые расчеты согласно практическим заданиям.
В качестве теории в приложении представлено несколько подразделов с теоретическими материалами и практическими заданиями, рисунок 3. Перечень тем со времен может легко добавляться преподавателем. Текст открывается на весь экран, шрифт оптимально подходит для чтения, в правой стороне есть ползунок, позволяющий прокручивать страницу. В конце каждого раздела есть кнопка «назад», которая вернет пользователя в предыдущее меню.
Рис. 3. раздел «Теория»
В двух последних разделах, он проверяет и закрепляет свои знания с помощью тестов. Здесь присутствует два режима тестирования:
- «Тест», является обучающим режимом, и количество попыток прохождения тестирования ничем не ограничено. Что в свою очередь помогает лучше закрепить пройденный материал и провести необходимую работу над ошибками. Работа в данном режиме представлена на рисунке 4:
Рис. 4. Режим тестирования
Последовательность вопросов генерируется программой автоматически в случайном порядке. По завершении теста, выходит окно с результатами, отображаемыми в трех шкалах: традиционная пятибалльная отметка, набранные баллы и перевод оценки по шкале ECTS.
- «Онлайн-тест». Этот режим является режимом контроля, для начала которого студенту необходимо пройти авторизацию, рисунок 5, предварительно получив ключи доступа у администратора системы, или зарегистрироваться самостоятельно в серверном приложении. Результаты теста будут записаны в базу данных. Просмотр результатов будет доступен администратору системы и преподавателю по определенной дисциплине.
Рис. 5. Авторизация
Для начала тестирования необходимо пройти авторизацию, после этого запускается режим тестирования аналогичный предыдущему режиму «Тест». По завершению тестирования программа автоматически отправит результат (оценку и время прохождения), логин и уникальный номер студента в базу данных.
Второй программный модуль, серверное приложение, предназначен для администратора системы и изображен на рисунке 6:
Рис. 6. Модуль администратора
После авторизации, данный модуль помогает получить доступ к результатам пройденных тестирований, позволяет добавлять тесты в базу, регистрировать в системе студентов и преподавателей, а также при необходимости редактировать нужную информацию, рисунок 7:
Рис. 7. Главное окно
Серверная часть программы имеет удобный интерфейс, который поспособствует более быстрой и эффективной работе с программой. Далее мы представим, как в системе выглядит окно регистрации пользователей, студентов и преподавателей, рисунок 8:
Рис. 8. Регистрации пользователей системы
Также мы можем отредактировать любую информацию о конкретном пользователе, имеется функция поиска по достаточно большому кол-ву параметров, или данных, которые указываются при регистрации, рисунок 9:
Рис. 9. Редактирование информации
Форма создания тестовых заданий представлена на рисунке 10. В форме присутствуют функции редактирования ранее созданных тестов, а также создания нового теста. Имя теста должно быть уникальным, нести максимально понятный смысл и не иметь пробела. Для редактирования, или удаления из базы нужно выбрать из списка соответствующий тест.
Рис. 10. Создание теста
Далее рассмотрим окно редактирования теста, рисунок 11. В данном окне есть строчка для ввода текста, и четыре строчки для ввода вопросов, один из которых должен быть правильным ответом. Правильный ответ строго должен находиться в строке «Правильный ответ». При первом создании новой строчки он обозначен как «true answer». После редактирования вопросов следует нажать на кнопку «сохранить изменения». При прохождении тестирования, в клиентском приложении, вопросы будут выдаваться в случайном порядке. После завершения всех необходимых работ, можно нажать на кнопку «выйти из режима редактирования» и программа выйдет из него.
Рис. 11. Редактор тестов
Для того, чтобы в последующем посмотреть результаты, в главном окне программы есть функция «смотреть результаты тестов». Окно просмотра, рисунок 12, позволяет найти соответствующий результат по логину студента, или его уникальному номеру (УИН). Также можно выбрать из списка определенный тест, или произвести поиск по всем тестам. В форме можно удалить какой-либо результат или сохранить его в формате «*.doc», нажав на кнопку «сохранить результат в текстовый файл».
Рис. 12. Окно результатов
В ходе данного исследования были изучены способы работы с базами данных и хостингом, освоены некоторые особенности Unity, языка C# и СУБД MySQL. Итогом нашей работы, стало создание полнофункционального программного приложения, имеющего режим обучения, функции тестирования и возможность работы с входящей информацией. Разработанное приложение является очень удобным и функциональным средством обеспечения образовательного процесса, его планируется использовать на факультете СПО в КНИТУ.
Литература:
- C# // Microsoft. URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/csharp (дата обращения: 20.06.2017);
- Краткий обзор нового Unity UI с примерами организации интерфейса // Хабрахабр. URL: https://habrahabr.ru/post/246605/ (дата обращения: 20.06.2017);
- О компании // Beget. URL: https://beget.com/ru/about (дата обращения: 20.06.2017);
- Официальный сайт // Unity. URL: https://unity3d.com/ru (дата обращения: 20.06.2017)
Похожие статьи
Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android
В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.
PlantUML: создание диаграмм с использованием текстового синтаксиса
В статье автор рассматривает PlantUML как эффективный инструмент для создания диаграмм в разработке программного обеспечения, преимущества использования текстового синтаксиса, разнообразие поддерживаемых диаграмм.
Создание простого ar-приложения с использованием Unity и Vuforia engine
В статье рассмотрен процесс создания простого ar-приложения при помощи платформы разработки приложений Unity и платформы Vuforia.
Реализация ключевых элементов казуальной 2D-видеоигры в среде разработки Unity
В статье рассматривается реализация ключевых элементов казуальной 2D-видеоигры в среде разработки Unity на примере игры, разработанной в рамках командного проекта. Это поможет начинающим разработчикам на Unity узнать ключевые элементы разработки игры...
Разработка системы автоматизированного тестирования
В ходе данного исследования был рассмотрен процесс разработки системы автоматизированного тестирования. Для разработки приложения нами использовалась среда Microsoft Visual Studio 2010 Ultimate.
Абстрактные и динамически сгенерированные контроллеры в ASP.NET
В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.
Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt
В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...
Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12
В статье автор пытается определить необходимые графические средства для реализации интерфейса приложения, разрабатываемого для операционной системы Android версии 12 и выше. Были определены ключевые инструменты для контекстной ячейки собеседника, кот...
Проект Loom: трансформация многопоточности
Проект Loom представляет инновационную технологию в мире Java, нацеленную на революцию в области многопоточности и асинхронного программирования. В данной статье будут рассмотрены ключевые аспекты проекта, включая концепцию волокон (fibers) и виртуал...
Многопоточность в языке Swift
В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.
Похожие статьи
Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android
В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.
PlantUML: создание диаграмм с использованием текстового синтаксиса
В статье автор рассматривает PlantUML как эффективный инструмент для создания диаграмм в разработке программного обеспечения, преимущества использования текстового синтаксиса, разнообразие поддерживаемых диаграмм.
Создание простого ar-приложения с использованием Unity и Vuforia engine
В статье рассмотрен процесс создания простого ar-приложения при помощи платформы разработки приложений Unity и платформы Vuforia.
Реализация ключевых элементов казуальной 2D-видеоигры в среде разработки Unity
В статье рассматривается реализация ключевых элементов казуальной 2D-видеоигры в среде разработки Unity на примере игры, разработанной в рамках командного проекта. Это поможет начинающим разработчикам на Unity узнать ключевые элементы разработки игры...
Разработка системы автоматизированного тестирования
В ходе данного исследования был рассмотрен процесс разработки системы автоматизированного тестирования. Для разработки приложения нами использовалась среда Microsoft Visual Studio 2010 Ultimate.
Абстрактные и динамически сгенерированные контроллеры в ASP.NET
В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.
Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt
В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...
Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12
В статье автор пытается определить необходимые графические средства для реализации интерфейса приложения, разрабатываемого для операционной системы Android версии 12 и выше. Были определены ключевые инструменты для контекстной ячейки собеседника, кот...
Проект Loom: трансформация многопоточности
Проект Loom представляет инновационную технологию в мире Java, нацеленную на революцию в области многопоточности и асинхронного программирования. В данной статье будут рассмотрены ключевые аспекты проекта, включая концепцию волокон (fibers) и виртуал...
Многопоточность в языке Swift
В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.