当前位置: 首页 > 科技观察

PyGameZero:没有模板的游戏开发

时间:2023-03-12 01:55:54 科技观察

在您的游戏开发过程中使用PyGameZero,告别无聊的模板。Python是一种很棒的入门级编程语言。而且,游戏是一个很好的开始方式:它们是视觉的、自动驾驶的,并且是与朋友和家人分享的乐趣。虽然,大多数用Python编写的库(例如PyGame)会让初学者感到困惑,因为忘记微小的细节很容易导致无法渲染。在他们了解所有部分的作用之前,他们会将其中许多部分视为“无意义的模板文件”——需要复制并粘贴到程序中才能使其运行的神奇段落。PyGameZero试图通过在PyGame之上放置一个抽象层来弥合这一差距,因此它实际上不需要模板。当我们说“字面意思”时,我们指的是字面意思。这是一个合格的PyGame零文件:#为了清楚起见,我们可以将它放在game.py文件中并运行:$pgzrungame.py这将显示一个窗口并运行一个可以通过关闭窗口的游戏或按CTRL-C中断游戏循环。可悲的是,这将是一场无聊的比赛。什么都没发生。为了让它更有趣一点,我们可以绘制不同的背景:defdraw():screen.fill((255,0,0))这会将背景颜色从黑色更改为红色。但这仍然是一场无聊的比赛,没有任何反应。我们可以让它更有趣一点:colors=[0,0,0]defdraw():screen.fill(tuple(colors))defupdate():colors[0]=(colors[0]+1)%256这将使窗口从黑色开始,逐渐变亮,直到变成鲜红色,然后又变回黑色,周而复始。update函数更新参数的值,draw根据这些参数渲染游戏。即便如此,玩家也无法与游戏互动。让我们尝试一些其他的东西:colors=[0,0,0]defdraw():screen.fill(tuple(colors))defupdate():colors[0]=(colors[0]+1)%256defon_key_down(key,mod,unicode):colors[1]=(colors[1]+1)%256现在,按key增加亮度。其中包括游戏循环的三个重要部分:响应用户输入、更新参数和重新渲染屏幕。PyGameZero提供了更多功能,包括绘制精灵和播放声音片段的能力。试一试,看看你能想出什么类型的游戏!