Что Pygame может сделать с графикой, чего не может wxPython?

StackOverflow https://stackoverflow.com/questions/343505

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

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

  • Есть много библиотеки с эффектами и утилитами, которые можно использовать повторно.Хочешь изометрическую игру — есть библиотека, хочешь физический движок — есть библиотека, какой-нибудь крутой визуальный эффект — есть библиотека.

  • PyWeek.:) Это для того, чтобы разработка вашей игры стала еще веселее!

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top