登陆

PyGame Zero: 无需模板的游戏开发

admin 2019-05-17 318人围观 ,发现0个评论

在你的游戏开发进程中有了 PyGame Zero,和单调的模板说再会吧。

-- Moshe Zadka

Python 是一个很好的入门级编程言语。而且,游戏是一个很好的入门项目:它们是可视化的,自驱动的,而且能够很愉快的与朋友和家人共享。尽管,绝大多数的 Python 写就的库,比方 PyGame ,会让初学者由于忘掉细小的细节很简单导致什么都没烘托而感到困扰。

在了解一切部分的效果之前,他们会将其间的许多部分都视为“无意识的模板文件”——需求仿制和粘贴到程序中才干使其作业的奇特阶段。

PyGame Zero 企图经过在 PyGame 上放置一个笼统层来弥合这一距离,因而它字面上并不需求模板。

咱们在说的“字面”,就是在指字面。

这是一个合格的 PyGame Zero 文件:

# This comment is here for clarity reasons

咱们能够将它放在一个 game.py 文件里,并运转:

$ PyGame Zero: 无需模板的游戏开发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

这PyGame Zero: 无需模板的游戏开发将会让窗口从黑色开端,逐步变亮,直到变为亮赤色,再回来黑色,一遍一遍循环。

update 函数更新了参数的值,而 draw 根据这些参数烘托这个游戏。

即使是这样,这儿也没有任何方法给玩家与这个游戏学霸的交PyGame Zero: 无需模板的游戏开发互的方法。让咱们试试其他一些工作:

colors = [0, 0, 0]

def draw():

screen.fill(tuple(colors))

def update():

colors[0] = (colors[0] + 1) % 256 PyGame Zero: 无需模板的游戏开发

def on_key_down(key, mod, unicode):

colors[1] = (colors[1] + 1) % 256

现在,按下按键来提高亮度。

这些包含游戏循环的三个重要部分:呼应用户输入,更新参数和从头烘托屏幕。

PyGame Zero 供给了更多功用,包含制作精灵图和播映声响片段的功用。

试一试,看看你能想出什么类型的游戏!


via: https://opensource.com/article/19/1/pygame-zero

作者: Moshe Zadka 选题: lujun9972 译者: bestony 校正: wxy

本文由 LCTT 原创编译, Linux我国 荣誉推出

点击“了解更多”可拜访文内链接

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP