Я пишу простую игру с python, pygame и py2app. (Я использую Python 2.6). Когда я создаю свою игру в режиме псевдонима, она работает нормально, но когда я создаю для развертывания, приложение, которое я получаю, падает сразу после обеда. Кто-нибудь знает, что происходит?
Мое приложение py2app не открывается. В чем проблема?
comment
Нет кода? Нет сообщений об ошибках? Нет, ничего? Как, черт возьми, вы ожидаете, что люди поймут, что не так?
- person Mizipzor   schedule 13.08.2010
comment
При выходе сообщение об ошибке не появляется. Я понял (после того, как опубликовал вопрос), что это как-то связано со шрифтом pygame. Этого не происходит, когда я удаляю все, что связано со шрифтом. Я также считаю, что это комбинация вещей, поскольку было очень трудно точно определить.
- person Teak   schedule 13.08.2010
comment
попробуйте посмотреть, что выводится в консоли: откройте -a Console.app, перезапустите приложение, посмотрите журнал сообщений, скопируйте и вставьте сюда.
- person meduz   schedule 05.10.2010
Ответы (1)
Чтобы дать более исчерпывающий ответ на весь этот вопрос, я воспользуюсь примером Aliens.py. При построении в OS X вы увидите быструю вспышку, поскольку игра быстро инициализируется и закрывается. Открытие консоли показывает сообщение об ошибке, похожее на
Fatal Python error: (pygame parachute) Segmentation Fault
Job appears to have crashed: Abort trap
Я считаю, что проблема в том, что шрифт по умолчанию не включается в процесс упаковки.
Например, в образце Aliens.py добавьте поддерживаемый шрифт в папку с данными и измените
self.font = pygame.font.Font( None ), 20)
to
self.font = pygame.font.Font( os.path.join('data', 'Copperplate.ttc'), 20)
Это должно позволить приложению работать без проблем.
person
scum
schedule
05.03.2011
Да! Я уже узнал об этом, но это очень хороший ответ, и он абсолютно правильный! Спасибо... (Хотя немного поздно)
- person Teak; 05.03.2011