Подтвердить что ты не робот

Что может сделать Pygame с точки зрения графики, которую не может использовать wxPython?

Я хочу разработать очень простую 2D-игру в Python. Pygame - самая популярная библиотека для разработки игр на Python, но я уже хорошо знаком с wxPython и чувствую себя комфортно с ее помощью. Я даже написал Tetris clone, и это было довольно гладко.

Интересно, что предлагает Pygame с точки зрения графики (оставляя звук в стороне, на мгновение), что wxPython не может сделать? Как-то проще или быстрее делать графику в Pygame, чем в wxPython? Это еще более кросс-платформенный?

Похоже, я здесь что-то пропустил, но не знаю что.

4b9b3361

Ответ 1

Ну, в теории вы ничего не можете с Pygame, что вы не можете с помощью wxPython. Дело не в том, а в том, как. На мой взгляд, проще писать игру с PyGame becasue:

  • Это быстрее. Pygame основан на SDL, который является C-библиотекой, специально разработанной для игр, она была разработана с учетом скорости. Когда вы разрабатываете игры, вам нужна скорость.

  • Является игровой библиотекой, а не холстом общего назначения. Она имеет классы и функции, полезные для спрайтов, преобразований, обработки ввода, рисования, обнаружения столкновений. Он также реализует алгоритмы и методы, часто используемые в играх, таких как грязные прямоугольники, перелистывание страниц и т.д.

  • тысячи игр и примеры с ним. Вам будет легче узнать, как сделать трюк.

  • Существует много libraries с эффектами и утилитами, которые вы могли бы повторно использовать. Вы хотите изометрическую игру, есть библиотека, вы хотите физический движок, есть библиотека, вы какой-то классный визуальный эффект, есть библиотека.

  • PyWeek.:) Это должно сделать вашу игру еще более забавной!

Для некоторых очень простых игр, таких как Tetris, разница будет не слишком большой, но если вы хотите разработать довольно сложную игру, поверьте мне, вам понадобится что-то вроде PyGame.

Ответ 2

wxPython основан на wxWidgets, который является ориентированным на GUI набором инструментальных средств. Он имеет то преимущество, что использует стили и декорации, предоставляемые системой, на которой он работает, и поэтому очень легко писать переносные приложения, которые прекрасно вписываются в внешний вид и качество того, что вы используете. Вам нужен флажок? Используйте wxCheckBox, и wxPython будет обрабатывать внешний вид и взаимодействие.

pyGame, с другой стороны, ориентирован на разработку игр и, таким образом, приближает вас к аппаратным средствам таким образом, что wxPython не (и не нуждается, поскольку он вызывает ОС для рисования большинства своих элементов управления). pyGame имеет множество связанных с игрой вещей, таких как обнаружение столкновения, мелкозернистый контроль поверхностей и слоев или переключение буферов отображения во время вашего выбора.

Тем не менее, по-графически вы всегда можете найти способ делать то, что хотите, с помощью обоих наборов инструментов. Однако, когда скорость подсчитывается или вы хотите реализовать графически более увлекательные идеи игры, чем тетрис, вам, вероятно, лучше с pyGame. Если вы хотите использовать множество элементов графического интерфейса и не нуждаетесь в причудливых графических и звуковых функциях, вам лучше работать с wxPython.

Переносимость не является проблемой. Оба доступны для больших трех (Linux, OSX, Windows).

Это больше вопрос о том, какие именно специальные возможности вам нужны.