如果您要在Python中克隆Monopoly Tycoon,您会使用哪些库?

时间:2009-04-17 18:30:53

标签: python opengl

曾经玩过Monopoly Tycoon游戏吗?我觉得这很棒。 我很想重拍它。不幸的是,我在3D编程方面没有经验。我想有一个相对陡峭的学习曲线,当谈到openGL的东西,弄清楚被点击的东西等等......

如果您要承担这项任务,您需要哪些图书馆?

2 个答案:

答案 0 :(得分:6)

pyGame似乎非常成熟,并且建立在经过验证的SDL库之上。

答案 1 :(得分:4)

我会使用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字体,一些UI组件,事件调度,音频。图书馆里面本身很乱,我不太喜欢它。但是,这是我对每个图书馆的看法,这些图书馆广泛存在并且我已经研究过了。

我自己对opengl命名空间不满意。在前面使用非C命名空间会更好。这会让你有一些灵活性:

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

...
    Begin(TRIANGLES)
    Vertex2f(0,0)
    Vertex2f(200,0)
    Vertex2f(200,200)
    End()