Создание пазла

From GCompris
Revision as of 04:32, 12 March 2010 by Alexei (talk | contribs) (Préparation)
Jump to: navigation, search
L'activité de géography.

Как использовать скрипт 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ом.

Créer les régions

La carte trouvée contient le Brésil en gris clair et ses frontières en gris foncé ainsi que les frontières de ses états. Chaque état est très bien délimité visuellement. Avec la baguette magique de Gimp qui est en fait un outil de sélection par pixel contiguë, cliquez sur un état. L'état en question est sélectionné (il est entouré de petits traits animé). Faites clic-droit de la souris pour faire apparaître un menu déroulant, choisissez : Sélection > Enregistrer dans un canal. Modifier le nom du canal (par défaut il s'appelle Copie de masque de sélection) en le nommant du nom de l'état (par exemple Rio Grande do Norte). Et répétez l'opération pour chaque état. Pour avoir une idée, téléchargez le résultat.

Lancer le script

Lorsque vous lancez le script, vous allez passer un certain nombre de paramètre:

  • activity_name: Nom de l'activité (defaut = geography)
  • dossier: sous répertoire (par exemple Brazil)
  • title: Titre du puzzle GCompris
  • bordersize: La taille des bordure entre les pays (3 marche bien)
  • keepLimit: Garder la limite entre les pays (Préférable si carte complexe)
  • level: Le niveau de l'activité
  • sublevel: Le sous niveau de l'activité

Le script va se charger de colorier chaque région, créer une bordure autour du pays, ainsi que lier le canal à son emplacement pour le futur jeu.

Le résultat est sauvegardé dans le même répertoire que votre image source. Vous devez ensuite manuellement déplacer le résultat au bon endroit dans le répertoire de GCompris. Pour notre exemple, nous allons mettre les données dans /usr/share/gcompris/boards/geography_country

Faire un puzzle

Pour faire un puzzle, c'est plus simple, il suffit de prendre n'importe quelle image en 800x520, la sauvegarder dans Gimp et lancer le script Python-Fu->GCompris->Puzzle. Vous pouvez alors choisir le nombre de pièces à créer. Les autres informations sont similaires au script de création de carte.