Найти в Дзене

mBot2 #35. Как в mBlock5 перенести скрипты из одной программы в другую?

Ранее мы уже анонсировали возможность переноса скриптов для Устройств из одной программы в другую. Сегодня попробуем это на практике. Суть такая же, как и в случае с Персонажами. Экспортируем персонажа в файл, потом импортируем его в другую программу, и переносим его скрипты на любого другого персонажа. Переносятся и созданные переменные и свои блоки, удобно. Так можно хранить целые библиотеки. В случае с устройствами все аналогично. Рассмотрим на примере создания программы для робота, в которой будут присутствовать две компоненты, ранее оформленные в два разных файла - программа тонкого управления движением с пульта и программа управления серво-манипулятором. Внимание! Даже если у вас нет пульта, посмотреть материал далее стоит, т.к. точно так же переносятся ЛЮБЫЕ нужные скрипты от одного устройства к другому, что позволяет сделать библиотеку нужных скриптов, например - ПИД регулятор, управление джойстика и т.д. Ведь собирать громоздкую программу заново часто совсем не хочется, а ин
Оглавление

Ранее мы уже анонсировали возможность переноса скриптов для Устройств из одной программы в другую. Сегодня попробуем это на практике.

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

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

Внимание! Даже если у вас нет пульта, посмотреть материал далее стоит, т.к. точно так же переносятся ЛЮБЫЕ нужные скрипты от одного устройства к другому, что позволяет сделать библиотеку нужных скриптов, например - ПИД регулятор, управление джойстика и т.д. Ведь собирать громоздкую программу заново часто совсем не хочется, а иногда решающий фактор - время, так что хорошо, когда есть такой способ ускорения сборки.

Итак, приступим.

Экспорт Устройства со скриптами, переменными и блоками.

Загрузим в mBlock5 программу, в которой есть нужный нам для сохранения скрипт. Например - файл Pult_Move_1.mblock в электронном архиве проекта.

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

Экспортируем его в файл. Для этого наведем курсор на Устройство CyberPy, нажмем правую кнопку мыши и выберем Экспортировать.

-2

Не принципиально, что у нас скрипт был один в программе. Если скриптов несколько, все равно они все экспортируются вместе со спрайтом-устройством.

Экспортируется в формат спрайта mblock5. Рекомендуем для таких файлов использовать отличающие их названия. Я, например, добавляю в начало arc, дальше какие-то описывающие слова, сохраняю название устройства. Получается, например - arc_BTPULT_move_cyberpi.mblock

-3

Все, спрайт-устройство сохранено.

Далее симитируем ситуацию, когда нам понадобилось добавить управление движением в какой то проект.

Открываем программу, к которой надо добавить скрипты из экспортированной "библиотеки"-спрайта.

В качестве примера воспользуемся программой управления манипулятором из предыдущей статьи. Файл Pult_Servo_robot_manipulator.mblock из электронного архива.

Открываем программу в mBlock5

-4

Теперь хотим добавить скрипты управления движением.

Импорт спрайта-устройства с нужными скриптами

Наводим курсор на Устройство CyberPi и выбираем Импорт.

-5

Откроется окно проводника и там, в папке, куда мы сохраняли спрайт arc_BTPULT_move_cyberpi.mblock .... ПУСТО!

Дело в том, что надо в типе файлов выбрать ВСЕ ФАЙЛЫ (см. рис. ниже)

-6

Все, теперь можно выбрать файл arc_BTPULT_move_cyberpi.mblock и нажать кнопку Открыть.

И в наш проект будет импортировано еще одно Устройство - cyberpi2.

-7

Но еще не все! Теперь надо перетащить скрипты из Устройства cyberpi2 в нужное нам cyberpi. Если скрипт один, то перетащим один, несколько - перетащим по очереди несколько. Как это сделать?

Перетаскиваем нужные скрипты (с допами) из одного Устройства в другое.

Для этого заходим в устройство 2, захватываем скрипт за шапку и тащим его на устройство 1 слева в окне Устройств. Оно выделится цветом и начнет качаться, тогда и отпускаем кнопку мыши.

Переходим в устройство 1 (cyberpi) и проверяем, правильно ли все перетащилось.

-8

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

Можете зайти в переменные и убедиться, что все нужные переменные так же перетащились))))

В принципе все. Устройство 2 можно удалять, оно свою миссию библиотеки выполнено.

Из рекомендаций - переменные в таких скриптах надо создавать "для всех устройств", чтобы при перетаскивании проблем не возникало. А так - отличная тема для сохранения и использования нужных скриптов.

До следующих встреч!

Ранее в цикле: