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, то это даёт вам неограниченные возможности.
|