2D анимация в Python - PullRequest
       34

2D анимация в Python

9 голосов
/ 04 октября 2008

Я пишу симулятор на Python, и мне любопытно узнать о вариантах и ​​мнениях относительно основных 2D-анимаций. Под анимацией я имею в виду рендеринг на лету, а не отображение предварительно обработанных изображений.

В настоящее время я использую matplotlib (бэкэнд Wxagg), и, возможно, я смогу продолжать его использовать, но я подозреваю, что он не сможет масштабироваться с точки зрения производительности или возможностей.

Требования:

  • Кроссплатформенность (Linux, MacOS X, Windows)
  • Сложные накладные расходы
  • Хорошо играет с wxpython (по крайней мере, не будет чрезмерно наступать друг другу на ногу)
  • Интерактивность. Определить, когда на объекты нажимают, накладывают и т. Д.

Обратите внимание, что высокой производительности нет в списке, но было бы неплохо обрабатывать ~ 100 растровых объектов на экране.

Ваши мысли?

Ответы [ 2 ]

11 голосов
/ 04 октября 2008

Я фанат pyglet , который является полностью автономной библиотекой для выполнения графической работы под win32, linux и OS X.

У него очень низкие накладные расходы, и вы можете убедиться в этом сами из учебника на веб-сайте. Он должен хорошо играть с wxpython, или, по крайней мере, я, похоже, вспоминаю посты в списке рассылки о совместном использовании wxpython и pyglet.

Однако он не предлагает выбор объектов с помощью щелчков мыши - с этим вам придется справиться самостоятельно. Вообще говоря, для 2D-приложений это не так сложно сделать.

mactorii является моим приложением OS X, написанным на чистом python + pyglet, и имеет некоторую базовую анимацию (прокрутку) и обнаружение щелчков. Он не использует wxpython, но, возможно, он даст вам представление о том, что происходит. Заметьте, однако, что mactorii использует старый API Pyglet, поэтому цикл запуска, который у меня есть, устарел. Я найду время обновить его однажды ...: P

3 голосов
/ 15 октября 2009

Вы можете попробовать pygame, он очень прост в обращении и похож на SDL под c ++

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...