Создание пазла
Contents
Как иÑпользовать Ñкрипт shapegame.py Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð°Ð·Ð·Ð»Ð¾Ð²
Введение
Многие ÑƒÐ¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ GCompris работают по Ñхожему принципу: они предÑтавлÑеют Ñобой паззл из чаÑтей, иконки которых можно выбирать Ñлева на Ñкране. Такие ÑƒÐ¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ñ‹Ð²Ð°ÑŽÑ‚ÑÑ shapegame в терминологии GCompris и иÑпользуют вÑтроенный движок упражнений.
Чтобы ÑамоÑтоÑтельно Ñоздать такое упражнение, можно воÑпользоватьÑÑ Ñкриптом на Ñзыке Питон, Ñозданным Ð´Ð»Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого редактора GIMP Мигелем де Изаррой (Miguel De Izarra). СобÑтвенно, требуетÑÑ Ð²Ñего лишь наложить Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° фон.
Ðеобходимые инÑтрументы
- Ñкрипт на Питоне
- ГрафичеÑкий редактор Gimp
- Картинка географичеÑкой карты размером 800Ñ…520 пикÑелей, Ñ Ñ…Ð¾Ñ€Ð¾ÑˆÐ¾ видными границами гоÑударÑтв.
УÑтановка Ñкрипта
ÐÐºÑ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ñходного кода Ñкрипта находитÑÑ Ð½Ð° Ñтой Ñтранице Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ GCompris. Обратите внимание: Ñкрипт не раÑпроÑтранÑетÑÑ Ð²Ð¼ÐµÑте Ñ Ð¸Ñходным кодом GCompris. Можно загрузить Ñам Ñкрипт отÑюда.
Чтобы его уÑтановить, Ñкопируйте его в папку Ñкриптов графичеÑкого редактора GIMP. Ð’ ЛинукÑе Ñта папка находитÑÑ Ð² вашем домашнем каталоге, в ~/.gimp-2.2/plug-ins/ ('~' предÑтавлÑет Ñобой путь к домашнему каталогу, как /home/bruno). Затем добавьте права на иÑполнение Ñтому Ñкрипту :
cp gcompris_shapegame.py ~/.gimp-2.2/plug-ins/
chmod +x ~/.gimp-2.2/plug-ins/gcompris_shapegame.py
Отныне, еÑли вы запуÑтите GIMP, в нём будет новый пункт меню в меню Image: (Python-fu -> GCompris).
Подготовка
Создать ÑобÑтвенную карту Ð´Ð»Ñ GCompris легко. Мы покажем на примере, как Ñоздать карту Бразилии и размеÑтить на ней облаÑтные регионы.
Скрипт работает только Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ формата .xcf -- Ñтандартного формата файлов GIMP. Ðам было лениво вручную риÑовать карту Бразилии, так что мы Ñкачали её Ñ Ð’Ð¸ÐºÐ¸Ð¿ÐµÐ´Ð¸Ð¸ в формате SVG (векторный графичеÑкий формат, леко маÑштабируетÑÑ Ð±ÐµÐ· потери качеÑтва). Карты на Википедии раÑпроÑтранÑÑŽÑ‚ÑÑ Ð¿Ð¾ лицензии GPL и ÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±Ñ‰ÐµÑтвенным доÑтоÑнием.
ПоÑкольку карта должна быть размером 800x520 пикÑелей, мы конвертируем векторый SVG-файл в раÑтровый формат ÑоответÑтвующего размера. Сконвертированный файл уже можно открыть GIMPом.
Задание облаÑтей
Ðа найденной нами карте Ð‘Ñ€Ð°Ð·Ð¸Ð»Ð¸Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð° Ñветло-Ñерым, а её внешние границы и границы между облаÑÑ‚Ñми - темно-Ñерым цветом. ÐšÐ°Ð¶Ð´Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ хорошо видна. При помощи инÑтрумента GIMP "Ð²Ð¾Ð»ÑˆÐµÐ±Ð½Ð°Ñ Ð¿Ð°Ð»Ð¾Ñ‡ÐºÐ°" мы выделим желаемую облаÑÑ‚ÑŒ ("Ð²Ð¾Ð»ÑˆÐµÐ±Ð½Ð°Ñ Ð¿Ð°Ð»Ð¾Ñ‡ÐºÐ°" выделÑет поÑледовательные регионы одного цвета). Когда облаÑÑ‚ÑŒ выделилаÑÑŒ, она обриÑовываетÑÑ Ð¿Ð¾ контуру бегающими точками. Щелчком правой кнопки вызовем контекÑтное меню и выберем Выделить > Сохранить в Отдельный Канал [Select > Save to Channel]. Изменим Ð¸Ð¼Ñ ÐºÐ°Ð½Ð°Ð»Ð° (по умолчанию Ñто "ÐšÐ¾Ð¿Ð¸Ñ Ð¼Ð°Ñки выделениÑ") и назовём его именем облаÑти, например Rio Grande do Norte.
Повторим операцию Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ штата. Чтобы предÑтавить Ñебе, о чем идёт речь, Ñкачайте файл и поÑмотрите на результат. Откройте меню Диалоги > Каналы [Dialogs > Channels], чтоб увидеть Ñозданные нами каналы.
ЗапуÑк Ñкрита
Когда вы запуÑтите Ñкрипт, вы должны задать ему Ñледующие параметры:
- activity_name: Ð¸Ð¼Ñ ÑƒÐ¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ (по умолчанию = geography)
- dossier: папка Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ (например, Brazil)
- title: название, которое будет GCompris Ð´Ð»Ñ Ñтого упражнениÑ
- bordersize: толщина границы между Ñтранами (хорошо подходит 3)
- keepLimit: ÑохранÑÑ‚ÑŒ ли границы между Ñтранами (желательно Ð´Ð»Ñ Ñложных карт)
- level: Уровень ÑложноÑти упражнениÑ
- sublevel: Подуровень ÑложноÑти
Скрипт раÑкраÑит каждую облаÑÑ‚ÑŒ, ÑоздаÑÑ‚ границы между ними, а также ÑвÑжет каждый канал Ñ ÐµÐ³Ð¾ меÑтом на карте Ð´Ð»Ñ Ð±ÑƒÐ´ÑƒÑ‰ÐµÐ³Ð¾ упражнениÑ.
Результат будет Ñохранен в ту же папку, откуда взÑта иÑÑ…Ð¾Ð´Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ°. ПеремеÑтите файо ÑƒÐ¿Ñ€Ð°Ð¶Ð½ÐµÐ½Ð¸Ñ Ð² папку упражнений GCompris. Ð’ нашем примере мы помеÑтили упражнение в папку /usr/share/gcompris/boards/geography_country
Создание паззла
Создать паззл ещё проще: возьмите любую картинку 800x520, откройте и Ñохраните её в GIMP, и запуÑтите Ñкрипт Python-Fu->GCompris->Puzzle. Скрипт уточнит, Ñколько куÑочков паззла вы хотите, и Ñделает новое упражнение-паззл из предоÑтавленной картинки.