PyGame Zero: 无需模板的游戏开发
在你的游戏开发过程中有了 PyGame Zero,和枯燥的模板说再见吧。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/12/225929m2fnq02x2yvyyhiq.png">Media</a>Python 是一个很好的入门级编程语言。并且,游戏是一个很好的入门项目:它们是可视化的,自驱动的,并且可以很愉快的与朋友和家人分享。虽然,绝大多数的 Python 写就的库,比如 <a href="https://www.pygame.org/news">PyGame</a> ,会让初学者因为忘记微小的细节很容易导致什么都没渲染而感到困扰。在理解所有部分的作用之前,他们会将其中的许多部分都视为“无意识的模板文件”——需要复制和粘贴到程序中才能使其工作的神奇段落。<a href="https://pygame-zero.readthedocs.io/en/stable/">PyGame Zero</a> 试图通过在 PyGame 上放置一个抽象层来弥合这一差距,因此它字面上并不需要模板。我们在说的“字面”,就是在指字面。这是一个合格的 PyGame Zero 文件:<pre class="prettyprint linenums"># This comment is here for clarity reasons</pre>我们可以将它放在一个 game.py 文件里,并运行:<pre class="prettyprint linenums">$ pgzrun game.py</pre>这将会展示一个窗口,并运行一个可以通过关闭窗口或按下 CTRL-C 中断的游戏循环。遗憾的是,这将是一场无聊的游戏。什么都没发生。为了让它更有趣一点,我们可以画一个不同的背景:<pre class="prettyprint linenums">def draw(): screen.fill((255, 0, 0))</pre>这将会把背景色从黑色换为红色。但是这仍是一个很无聊的游戏,什么都没发生。我们可以让它变的更有意思一点:<pre class="prettyprint linenums">colors = [0, 0, 0]def draw(): screen.fill(tuple(colors))def update(): colors[0] = (colors[0] + 1) % 256</pre>这将会让窗口从黑色开&#…
在你的游戏开发过程中有了 PyGame Zero,和枯燥的模板说再见吧。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/12/225929m2fnq02x2yvyyhiq.png">Media</a>Python 是一个很好的入门级编程语言。并且,游戏是一个很好的入门项目:它们是可视化的,自驱动的,并且可以很愉快的与朋友和家人分享。虽然,绝大多数的 Python 写就的库,比如 <a href="https://www.pygame.org/news">PyGame</a> ,会让初学者因为忘记微小的细节很容易导致什么都没渲染而感到困扰。在理解所有部分的作用之前,他们会将其中的许多部分都视为“无意识的模板文件”——需要复制和粘贴到程序中才能使其工作的神奇段落。<a href="https://pygame-zero.readthedocs.io/en/stable/">PyGame Zero</a> 试图通过在 PyGame 上放置一个抽象层来弥合这一差距,因此它字面上并不需要模板。我们在说的“字面”,就是在指字面。这是一个合格的 PyGame Zero 文件:<pre class="prettyprint linenums"># This comment is here for clarity reasons</pre>我们可以将它放在一个 game.py 文件里,并运行:<pre class="prettyprint linenums">$ pgzrun game.py</pre>这将会展示一个窗口,并运行一个可以通过关闭窗口或按下 CTRL-C 中断的游戏循环。遗憾的是,这将是一场无聊的游戏。什么都没发生。为了让它更有趣一点,我们可以画一个不同的背景:<pre class="prettyprint linenums">def draw(): screen.fill((255, 0, 0))</pre>这将会把背景色从黑色换为红色。但是这仍是一个很无聊的游戏,什么都没发生。我们可以让它变的更有意思一点:<pre class="prettyprint linenums">colors = [0, 0, 0]def draw(): screen.fill(tuple(colors))def update(): colors[0] = (colors[0] + 1) % 256</pre>这将会让窗口从黑色开&#…