Python和Pygame的灵感和最佳实践

2024-05-05 21:38:43 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉在这个问题上没有说得很具体,但我不知道还有什么好问的。在

我有一个覆盆子圆周率,我将尝试使用在一个汽车计算机项目。我得到了使用Pygame编写接口的技巧。在

我对python和pygame不太熟悉,但我对PHP、HTML、C和VB在winforms上有丰富的经验。在

在这种情况下,我将有一个菜单的权利,让我们说5个“标签”。这样做的时候我会怎么想?我是否应该考虑PHP/HTML,为每个标签页都有一个文件,然后在这里加载头、背景和内容,以及如何链接到每个*.py文件(如果可能的话)?我是否应该考虑JS和ajax使用一个表面(“div”)来显示我的页面,这取决于所选的菜单?在

我花了一个晚上玩,我想我应该做的是这样的事情:

//Set up the layout
//Add a surface for Tab 1 (tab1Layout.py)
//Add a surface for Tab 2 (tab2Layout.py) - set invisible
//Add a surface for Tab 3 (tab3Layout.py) - set invisible
//Add a surface for Tab 4 (tab4Layout.py) - set invisible
//Add a surface for Tab 5 (tab5Layout.py) - set invisible

//Add the menu to the right (menu.py)

//Start the pygame loop
//Listen for events in the menu (menuEvents.py)
//Listen for events in tab 1 (tab1Events.py)
//Listen for events in tab 2 (tab2Events.py)
//Listen for events in tab 3 (tab3Events.py)
//Listen for events in tab 4 (tab4Events.py)
//Listen for events in tab 5 (tab5Events.py)

我走对了吗?在

你们知道做这类事情的好的教程或其他库吗?我不想装X之类的东西。在

有什么好的教程提示或者知道任何类似的项目,我可以在那里学习代码吗?在


Tags: the项目inpyaddforeventssurface
1条回答
网友
1楼 · 发布于 2024-05-05 21:38:43

所以,有点难知道你到底想要什么。不过,我想在这里提倡简单性,如果你让自己有这么多的文件,你会感到困惑,并有很多冗余代码。在

从我个人游戏制作的角度来看,我的屏幕都是一个类的所有方法。有一些实例变量像screen,但是每个方法都包含主pygame循环,即

while True:
    for event in pygame.event.get():
        #whatever
        pass

按一下按钮,你可以转到你的类中的一个单独的方法。 我建议为每个选项卡按钮创建一个类,或者为整个选项卡按钮集创建一个类,这可以被更新,绘制到屏幕上,并在每个选项卡的所有单独方法中使用

这与php&html等不同之处在于缺少预定义的结构,因为您必须从头开始。我有一些代码片段在我的网站上,你可以用来制作按钮等,如果这会有帮助。这是一个link。在

另外,如果您选择separate file方法,python的导入非常直观,您可以使用以下命令从文件tabLayout3.py导入一个类(比如Layout3):

^{pr2}$

(假设tabLayout3.py的路径在我的python路径中)

相关问题 更多 >