Разбор многоступенчатой конвертации на примере форматов sb3 и exe | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 3 октября, печатный экземпляр отправим 7 октября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №33 (323) август 2020 г.

Дата публикации: 17.08.2020

Статья просмотрена: < 10 раз

Библиографическое описание:

Лобашевская, В. А. Разбор многоступенчатой конвертации на примере форматов sb3 и exe / В. А. Лобашевская. — Текст : непосредственный // Молодой ученый. — 2020. — № 33 (323). — С. 16-19. — URL: https://moluch.ru/archive/323/73172/ (дата обращения: 19.09.2020).



В данной статье рассматриваются многоступенчатая конвертация, а также «нестандартный» способ конвертации на примере проектов, написанных на языке Scratch, в exe файл.

Ключевые слова: проект, конвертация, Scratch.

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

Конвертация данных — это преобразование одного формата данных в другой с сохранением основного содержания информации.

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

Одной из главных проблем конвертации является потеря или искажение данных. Чаще всего это происходит из-за разных возможностей программ. При сравнении форматов «plain text» и «OpenDocument Text» становится очевидным, что у второго формата намного больше возможностей форматирования. Конвертация из простого в более сложный формат, в большинстве своем, пройдет без потери данных. Но преобразование в обратную сторону приведет к потери большей части форматирования, например, в случае с текстовыми типами данных.

Цель данной статьи — рассмотреть применение метода многоступенчатой конвертации на примере форматов sb3 и exe.

Exe — это стандартный формат для открытия программ в операционной системе Windows. Sb3 же специализированный формат файла, используемый для хранения проектов написанных на языке Scratch.

Scratch — это блочный язык программирования для создания игр и анимации, который активно используется детьми и подростками (8–16 лет). Данный язык программирования из-за легкости понимания его основ и широких возможностей имеет популярность и у взрослой аудитории (Рис. 1).

Вид в программе Scratch 2.0

Рис. 1. Вид в программе Scratch 2.0

Scratch последней версии 3.0 сохраняет проекты в формате sb3. Но можно создавать проекты и в старой версии 2.0, тогда и формат получится sb2, что поможет упростить конвертацию.

Для достижения поставленной цели были сопоставлены версии 2.0 и 3.0 в части функциональных возможностей конвертации на основе технической документации, размещенной на сайте разработчика программы Scratch, рассмотрены предложения пользователей по конвертации на англоязычных форумах, а также протестированы различные способы конвертации.

Метод многоступенчатой конвертации состоит в переводе sb3 формата в sb2, затем в SWF, а затем в exe. Приведем пример реализации данного метода:

– чтобы перевести sb3 в sb2 может быть использовано приложение sb3tosb2 (функционирует только при установленном Python3). В программе необходимо выбрать sb3 файл с проектом, а затем папку, в которую сохранится уже готовый sb2 файл (при работе с версией Scratch 2.0 данный шаг следует пропустить);

– для конвертации sb2 в SWF может быть использован сайт «junebeetle», который удобен гибкой настройкой конвертора: от отображения стандартного зеленого флажка, до выставления пользовательского разрешения;

– для конвертации swf в exe. наиболее удобный из найденных оказался swf-to-exe.com.

Тестирование данного метода выявило потерю такой информации, как музыка в формате MP3 и некоторых переменных. Кроме того, происходит искажение информации: шрифты становятся стандартными и «съезжают» так же, как и некоторые спрайты. Если скорректировать проект с учетом последствий конвертации, то получится exe с работающим проектом. Данный метод не подходит для проектов с большим количеством спрайтов и костюмов (их положение не соответствует начальной расстановке и требует большого количества времени на корректировку), а также при необходимости сохранения оригинальной стилистики шрифта (все используемые шрифты приводятся к стандартному виду).

Негативные последствия многоступенчатой конвертации могут быть преодолены через добавление преобразования в html и использовании специальной программы, в которую «встраивается» наш проект. При тестировании метода для перевода sb3 в html использовался проект HTMLifier на сайте github. Также понадобилось приложение nwjs. Файл html был добавлен в папку с файлами программы nw.exe, и, в файле package.json из той же папки, был скопирован текст:

{

«name”: «Name”,

«main”: «project.html”,

«icons”: {"16": «icon.png”}

}

Первая строка — название программы, вторая — название сконвертированного html файла, третья — имя изображения для иконки. Для запуска нажимаем на nw.exe и откроется проект.

Описанный вариант конвертации занимает меньше времени, но, чтобы проект работал, необходимо много посторонних файлов, хранящихся в папке программы.

Таким образом, на данный момент существует множество узконаправленных и редких форматов данных, конвертация которых является трудоемким и времязатратным процессом. Потребность пользователей в преобразовании специализированных в стандартные форматы ставит перед разработчиками новую задачу по упрощении процесса конвертации.

Литература:

  1. http://scratch.by/news/project_news/scratch_3_0_preview_questions_and_answers/
  2. https://en.scratch-wiki.info/wiki/Porting_Scratch_Projects
  3. https://github.com/RexScratch/sb3tosb2
Основные термины (генерируются автоматически): SWF, многоступенчатая конвертация, проект, формат, конвертация, файл.


Ключевые слова

проект, конвертация, Scratch
Задать вопрос