Если бы вы клонировали Monopoly Tycoon в Python, какие библиотеки вы бы использовали? - PullRequest
3 голосов
/ 17 апреля 2009

Вы когда-нибудь играли в игру Монополия Магнат? Я думаю, это здорово. Я хотел бы переделать это. К сожалению, у меня нет опыта работы с 3D-программированием. Я полагаю, что когда дело доходит до openGL, есть относительно крутая кривая обучения, выяснение того, на что нажимают и так далее ...

Если бы вы взялись за эту задачу, какие библиотеки вам понадобились бы?

Ответы [ 2 ]

6 голосов
/ 17 апреля 2009

pyGame кажется достаточно зрелым и основывается на проверенной библиотеке SDL.

4 голосов
/ 18 апреля 2009

Я бы использовал pyglet. Все это opengl с самого начала, оно не основано на уродливой библиотеке SDL и имеет лучшие интерфейсы, чем то, что я видел в других мультимедийных библиотеках python.

import pyglet
from pyglet.gl import *

class Application(object):
    def __init__(self):
        self.window = window = pyglet.window.Window()
        window.push_handlers(self)

    def on_draw(self):
        self.window.clear()
        glBegin(GL_TRIANGLES)
        glVertex2f(0,0)
        glVertex2f(200,0)
        glVertex2f(200,200)
        glEnd()

if __name__=='__main__':
    app = Application()
    pyglet.app.run()

Я написал это с нуля, чтобы показать вам ссылку. Вы можете начать с этого.

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

Я сам недоволен пространством имен opengl. Было бы лучше с пространством имен не-C впереди. Это оставит вас в некоторой гибкости:

from pyglet.gl import Begin, Vertex2f, TRIANGLES, End

...
    Begin(TRIANGLES)
    Vertex2f(0,0)
    Vertex2f(200,0)
    Vertex2f(200,200)
    End()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...