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

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

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

Автор:

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

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

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

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

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

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



В данной статье рассматриваются многоступенчатая конвертация, а также «нестандартный» способ конвертации на примере проектов, написанных на языке 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

Похожие статьи

Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt

В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...

Контейнеризация как современный способ виртуализации

В данной статье рассматривается контейнеризация как эффективный способ виртуализации для различных приложений (сервисов). Также приведен пример создания простейшего dokcer контейнера.

Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами

Задача автоматического создания файлов часто встает перед web- разработчиками, в частности в сфере разработки платформенных решений для транспорта. Для упрощения процесса формирования документов существует несколько библиотек для языка PHP. В статье ...

Разработка алгоритма валидации форм на клиентской стороне для передачи данных

В данной статье рассмотрены методы и алгоритмы функционирования систем клиент-серверной архитектуры для передачи данных с помощью технологий программных инструментов: HTML, CSS, Javascript.

Использование Dapper C# в программировании

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

Особенности изучения линейного алгоритма на flowcode

В статье рассматривается линейный алгоритм на микроконтроллере с помощью Flowcode.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Неформальный алгоритм сортировки файла с применением битового сжатия в языке программирования C++

В статье автор рассматривает сортировку файла при помощи битового массива на C++. А также сравнивает затраты оперативной памяти без использования битового массива.

Обзор пакета chatgpt на языке программирования R

Данная статья рассматривает функционал пакета «chatgpt».

Многопоточность в языке Swift

В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.

Похожие статьи

Работа с элементами GUI на примере приложения с использованием кроссплатформенного фреймворка Qt

В статье подробно разобран код приложения, написанного с использованием кроссплатформенного фреймворка Qt основанного на языке C++. Приложение Dynamic Layouts является одним из примеров, входящих в пакет Qt Creator. На примере данного приложения расс...

Контейнеризация как современный способ виртуализации

В данной статье рассматривается контейнеризация как эффективный способ виртуализации для различных приложений (сервисов). Также приведен пример создания простейшего dokcer контейнера.

Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами

Задача автоматического создания файлов часто встает перед web- разработчиками, в частности в сфере разработки платформенных решений для транспорта. Для упрощения процесса формирования документов существует несколько библиотек для языка PHP. В статье ...

Разработка алгоритма валидации форм на клиентской стороне для передачи данных

В данной статье рассмотрены методы и алгоритмы функционирования систем клиент-серверной архитектуры для передачи данных с помощью технологий программных инструментов: HTML, CSS, Javascript.

Использование Dapper C# в программировании

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

Особенности изучения линейного алгоритма на flowcode

В статье рассматривается линейный алгоритм на микроконтроллере с помощью Flowcode.

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Неформальный алгоритм сортировки файла с применением битового сжатия в языке программирования C++

В статье автор рассматривает сортировку файла при помощи битового массива на C++. А также сравнивает затраты оперативной памяти без использования битового массива.

Обзор пакета chatgpt на языке программирования R

Данная статья рассматривает функционал пакета «chatgpt».

Многопоточность в языке Swift

В статье рассмотрим основной способ выполнять код асинхронно, который используется в iOS приложениях. Подробно разобран основной функционал Grand Central Dispatch (GCD) и сценарии, в которых можно реализовать многопоточность с его помощью.

Задать вопрос