PyGame Zero: 无需模板的游戏开发
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 提供了更多功能,包括绘制精灵图和播放声音片段的功能。
试一试,看看你能想出什么类型的游戏!
via: https://opensource.com/article/19/1/pygame-zero
作者:Moshe Zadka 选题:lujun9972 译者:bestony 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/47958.html
linuxpython相关文章
- unity3d简单游戏教程_3D推荐
- 贪吃蛇代码实现_贪吃蛇游戏代码
- 植物大战僵尸:实现游戏内自动收集阳光
- 【算法】动态规划 ⑦ ( LeetCode 55. 跳跃游戏 | 算法分析 | 代码示例 )
- Valve掌机可运行所有PC游戏
- 今日谷歌涂鸦庆祝东京奥运会开幕:复古RPG游戏冠军岛运动会开赛了
- 让linux游戏开发走进新纪元(开发linux游戏)
- Linux上首款太空剧场级游戏’The Mandate’发布预告片!!
- 添加声音到你的 Python 游戏
- 「唯物」飞智游戏盒子:想玩得好你还需要我们的手柄
- MSSQL实现的游戏充值支付网关(mssql游戏充值网关)
- 外国友人自制 HoloLens 传送游戏,在家玩 AR 原来这么有趣!
- Facebook开始测试在VR游戏中植入广告
- 完美世界:上半年游戏业务营收34亿元 来自未成年人的收入占比极低
- 用js写“算24”游戏的思路分析与实现代码