Главная » Статьи » Инструментарий.

Packpanda - создание инстала, установочного файла для игры
Packpanda – полезная программа в составе Panda3D, которая позволяет вам создавать программу установки игры Panda3D. Результат напоминает любую другую программу установки:

Когда установка сделана, пользователь найдет вашу игру в его стартовом меню:

Пользователю не нужно копировать и устанавливать Panda3D. Он должен просто установить игру и наслаждаться ею.

Файлы, которые должна содержать ваша игра

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

main.py - Это ваша главная программа. Когда пользователь щёлкает на иконку вашей программы в стартовом меню, этот файл запускается.

installer.bmp – Это изображение будет в окне инстала. Если оно существует, то оно должно быть 164x314 пикселей и иметь формат *.bmp.

license.txt – Это лицензия программного обеспечения на вашу игру. Файл, если имеется, должен быть в ASCII кодировке. Лицензия на игру появится внутри программы установки, и будет копироваться в инсталляционную директорию игры. Конечно, ваша лицензия только покрывает код, который вы написали, а не Panda3D непосредственно.

icon.ico – Это иконка игры, которая будет присутствовать в стартом меню. Этот файл не требуется, и если его не будет, Panda3D заменит его своим.

Упаковка вашей игры

Команда, чтобы упаковать вашу игру - "packpanda", и вы должны конкретизировать выбор папки вашей игры "--dir" в командной строке. Packpanda немедленно проанализирует вашу игру и напечатает сообщение статуса:

Запускаете командную строку и вводите:

Code
packpanda --dir MyGame

Учтите, в имени папки не должно быть пробелов, иначе packpanda выведет ошибку.

Автоматическая генерация *.bam и *.pyc файлов

Packpanda проверяет есть ли в вашей директории файлы указанные выше и выводит их список. При создании инстала Packpanda автоматически генерирует *.bam и *.pyc файлы.

Чтобы создать эти файлы вручную, есть следующие команды:

Code
packpanda --bam # Генерирует *.bam файлы
packpanda --pyc # Генерирует *.pyc файлы


Эти команды не удаляют *.egg и *.py файлы.

Проверка *.egg и *.py

Packpanda проверяет при запуске все ваши *.egg и *.py файлы, чтобы убедиться, что они компилируются правильно. Если есть какие-либо неисправности в этих файлах, то игра не будет упакована.

Предварительное конвертирование моделей

Если ваша игра включает *.egg файлы, и если вы хотите защитить их от распространения, то packpanda, используя --rmext, заменит эти файлы на *.bam.

Замена файлов, чтобы защитить от распространения

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

Code
packpanda --rmdir dir # Удаляет все директории с данным именем из инстала, но не настоящие директории
packpanda --rmext ext # Удаляет все файлы с данным расширением из инстала, но не настоящие файлы


Эти варианты особенно полезны в нескольких ситуациях:

Чтобы заменить CVS директорию:

Code
packpanda --rmdir CVS

Чтобы упаковать *.bam вместо *.egg:

Code
packpanda --bam --rmext egg

Чтобы упаковать *.pyc вместо *.py:

Code
packpanda --pyc --rmext py

Замена имени игры

Обычно, packpanda назначает имя игре, которое было у директории игры. Это не всегда удобно, особенно, когда игра имеет очень длинное название. Следующая команда позволяет вам изменять имя игры:

Code
packpanda --name "Evil Space Monkeys of The Planet Zort"


Это название появится в стартовом меню, и в имени директории, и в инсталяцинном окну.

Номер версии

Если вы хотите, чтобы у вашей игры был номер версии, используйте данную команду:

Code
packpanda --version X.Y.Z # Назначает номер версии


Эта команда добавляет номер версии к директории игры, и к стартовому меню, и к инсталяцинном окну. Только обязательно указать "X.Y.Z", иначе будет ошибка.

Скоростная упаковка

Packpanda использует очень качественный алгоритм упаковки, сжатия, но на это тратится много времени. Вы можете за счёт параметра команды packpanda снизить эффективность и повысить скорость упаковки, сжатия:

Code
packpanda --fast # Быстрая, но не такая качественная упаковка

Все параметры Packpanda

--dir – Имя папки с игрой (обязательный параметр).
--name – Имя игры.
--version – Номер версии игры.
--bam – Конвертирование файлы в .
--pyc – Конвертирование файлы в .
--rmdir
--rmext

Большие возможности Packpanda

Packpanda имеет много ограничений. Однако, packpanda – фактически, часть NSIS - "Nullsoft Scriptable Install System" (Нулсофтовая скриптовая инсталляционная система). NSIS - невероятно мощная система, и очень гибкая, но это скорее усложнило её использование. Packpanda прячет всю эту сложность от вас, но, к сожалению, делая это так, что это ограничивает ваш выбор.

Если вы считаете, что packpanda – это слишком просто или там мало возможностей, то можно использовать NSIS непосредственно. Первый шаг: просто понаблюдайте packpanda в действии, что она выводит. Командная строка покажет все команды, которые packpanda выполняет. Затем вы сами можете запускать эти команды.

Как только вы научитесь контролировать NSIS, вы сможете начать редактирование параметры упаковки в командной строке и NSIS файла конфигурации: (Panda_Версия\direct\src\directscripts\packpanda.nsi, возможна другая директория). Конечно, чтобы разобраться с этим, вам нужно будет прочитать руководство NSIS (оно доступно в интернете). Если вы изучили NSIS, то это даёт вам неограниченные возможности.

Категория: Инструментарий. | Добавил: BVOG (14.11.2009) | Автор: BVOG E
Просмотров: 5557 | Комментарии: 4 | Теги: файла, Создание, инстала, Packpanda, установочного, игры, для | Рейтинг: 4.0/3
Всего комментариев: 4
1  
Спасибо за хелп. Мне очень помог, сейчас ищу документацию по NSIS.

2  
Я скоро напишу статью про NSIS и русскую установку.

3  
Можете дать ссылку на скачку этой программы? А то нигде в интернете немогу ее найти

4  
%/Panda3d/bin/packpanda.exe
По дефолту ставится

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Онлайн всего: 1
Гостей: 1
Пользователей: 0