Python 是一种优秀的入门级编程语言。而游戏是一个很好的入门项目:它们是可视化的、自我激励的,并且可以有趣地向朋友和家人展示。然而,Python 中最常用的游戏开发库 PyGame 对于初学者来说可能会令人沮丧,因为忘记看似微小的细节很容易导致什么都无法渲染。
在人们理解为什么所有部分都在那里之前,他们将其中许多部分视为“无脑的样板代码”——需要复制粘贴到程序中才能使其工作的神奇段落。
PyGame Zero 旨在通过在 PyGame 上放置一个抽象层来弥合这一差距,从而使其完全不需要样板代码。
当我们说完全时,我们是认真的。
这是一个有效的 PyGame Zero 文件
# This comment is here for clarity reasons
我们可以将其放在 game.py 文件中并运行
$ pgzrun game.py
这将显示一个窗口并运行一个游戏循环,可以通过关闭窗口或使用 CTRL-C 中断程序来关闭它。
可悲的是,这将是一个无聊的游戏。什么都不会发生。
为了让它稍微有趣一点,我们可以绘制一个不同的背景
def draw():
screen.fill((255, 0, 0))
这将使背景变为红色而不是黑色。但这仍然是一个无聊的游戏。什么都没有发生。我们可以让它稍微有趣一点
colors = [0, 0, 0]
def draw():
screen.fill(tuple(colors))
def update():
colors[0] = (colors[0] + 1) % 256
这将创建一个窗口,该窗口开始时为黑色,然后变得越来越亮的红色,然后再变回黑色,如此反复。
update 函数更新参数,而 draw 函数根据这些参数渲染游戏。
然而,玩家无法与游戏互动!让我们尝试一些其他的
colors = [0, 0, 0]
def draw():
screen.fill(tuple(colors))
def update():
colors[0] = (colors[0] + 1) % 256
def on_key_down(key, mod, unicode):
colors[1] = (colors[1] + 1) % 256
现在按下键盘上的按键将增加“绿色度”。
这些构成了游戏循环的三个重要部分:响应用户输入、更新参数和重新渲染屏幕。
PyGame Zero 提供了更多功能,包括绘制精灵和播放声音片段的函数。
尝试一下,看看你能做出什么样的游戏!
1 条评论