Ранее мы уже анонсировали возможность переноса скриптов для Устройств из одной программы в другую. Сегодня попробуем это на практике.
Суть такая же, как и в случае с Персонажами. Экспортируем персонажа в файл, потом импортируем его в другую программу, и переносим его скрипты на любого другого персонажа. Переносятся и созданные переменные и свои блоки, удобно. Так можно хранить целые библиотеки.
В случае с устройствами все аналогично. Рассмотрим на примере создания программы для робота, в которой будут присутствовать две компоненты, ранее оформленные в два разных файла - программа тонкого управления движением с пульта и программа управления серво-манипулятором.
Внимание! Даже если у вас нет пульта, посмотреть материал далее стоит, т.к. точно так же переносятся ЛЮБЫЕ нужные скрипты от одного устройства к другому, что позволяет сделать библиотеку нужных скриптов, например - ПИД регулятор, управление джойстика и т.д. Ведь собирать громоздкую программу заново часто совсем не хочется, а иногда решающий фактор - время, так что хорошо, когда есть такой способ ускорения сборки.
Итак, приступим.
Экспорт Устройства со скриптами, переменными и блоками.
Загрузим в mBlock5 программу, в которой есть нужный нам для сохранения скрипт. Например - файл Pult_Move_1.mblock в электронном архиве проекта.
Скрипт довольно большой, связан с несколькими переменными. И часто может потребоваться в будущих проектах.
Экспортируем его в файл. Для этого наведем курсор на Устройство CyberPy, нажмем правую кнопку мыши и выберем Экспортировать.
Не принципиально, что у нас скрипт был один в программе. Если скриптов несколько, все равно они все экспортируются вместе со спрайтом-устройством.
Экспортируется в формат спрайта mblock5. Рекомендуем для таких файлов использовать отличающие их названия. Я, например, добавляю в начало arc, дальше какие-то описывающие слова, сохраняю название устройства. Получается, например - arc_BTPULT_move_cyberpi.mblock
Все, спрайт-устройство сохранено.
Далее симитируем ситуацию, когда нам понадобилось добавить управление движением в какой то проект.
Открываем программу, к которой надо добавить скрипты из экспортированной "библиотеки"-спрайта.
В качестве примера воспользуемся программой управления манипулятором из предыдущей статьи. Файл Pult_Servo_robot_manipulator.mblock из электронного архива.
Открываем программу в mBlock5
Теперь хотим добавить скрипты управления движением.
Импорт спрайта-устройства с нужными скриптами
Наводим курсор на Устройство CyberPi и выбираем Импорт.
Откроется окно проводника и там, в папке, куда мы сохраняли спрайт arc_BTPULT_move_cyberpi.mblock .... ПУСТО!
Дело в том, что надо в типе файлов выбрать ВСЕ ФАЙЛЫ (см. рис. ниже)
Все, теперь можно выбрать файл arc_BTPULT_move_cyberpi.mblock и нажать кнопку Открыть.
И в наш проект будет импортировано еще одно Устройство - cyberpi2.
Но еще не все! Теперь надо перетащить скрипты из Устройства cyberpi2 в нужное нам cyberpi. Если скрипт один, то перетащим один, несколько - перетащим по очереди несколько. Как это сделать?
Перетаскиваем нужные скрипты (с допами) из одного Устройства в другое.
Для этого заходим в устройство 2, захватываем скрипт за шапку и тащим его на устройство 1 слева в окне Устройств. Оно выделится цветом и начнет качаться, тогда и отпускаем кнопку мыши.
Переходим в устройство 1 (cyberpi) и проверяем, правильно ли все перетащилось.
Если все хорошо, то процесс закончен. Если не перетащилось, то процесс надо повторить, сосредоточившись на отпускании мыши в момент покачивания ярлыка устройства. Если перетаскивали несколько скриптов, проверяем и их.
Можете зайти в переменные и убедиться, что все нужные переменные так же перетащились))))
В принципе все. Устройство 2 можно удалять, оно свою миссию библиотеки выполнено.
Из рекомендаций - переменные в таких скриптах надо создавать "для всех устройств", чтобы при перетаскивании проблем не возникало. А так - отличная тема для сохранения и использования нужных скриптов.
До следующих встреч!
Ранее в цикле: