当前位置:   article > 正文

Python游戏开发,pgzrun模块,Python实现阿肯色克隆人游戏

pgzrun

前言

利用Python实现Python和PyGameZero编写阿卡尼类(Outout)的克隆,废话不多说。

让我们愉快地开始吧~

开发工具

**Python版本:**3.6.4

相关模块:

pgzrun模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

游戏实现

安装游戏零:
pip install pgzero
  • 1

我们要做的第一件事是打开一个空窗口:

import pgzrun

TITLE = "Arkanoid clone"
WIDTH = 800
HEIGHT = 500

pgzrun.go()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

我们进口游戏零。标题显示在窗口上的标题,其他两个变量定义宽度和高度。

Go()运行程序。

您将看到一个空白窗口

空白窗口

接下来,让我们展示一些街区。

在高度和宽度下面添加以下代码:

WIDTH = 800
HEIGHT = 500

paddle = Actor("paddleblue.png")
paddle.x = 120
paddle.y = 420

ball = Actor("ballblue.png")
ball.x = 30
ball.y = 300
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

演员是PyGames 0显示图像的方式。图像总是存储在影象文件夹位于与游戏脚本相同的位置。

➜ tree
.
├── game.py
└── images
    ├── ballblue.png
    └── paddleblue.png

1 directory, 3 files
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

我们还设置了正在加载的图像的起始x和y位置:

paddle.x = 120
paddle.y = 420
  • 1
  • 2

这些值可以是任意的,我通过反复试验得到了上面的结果。

因此,我们将图像加载到内存中,但我们还没有显示它们。我们现在就解决这个问题。PgZero有一个内置的抽签() 函数,该函数在启动游戏时自动调用。还有一个更新函数,每秒调用60次,并在移动时更新屏幕。

更新VS绘图功能

更新和绘制函数是相似的–除非更新每秒调用60次,而只有在某些事情发生变化时才调用绘图。

没有硬和快速的规则,但我会使用更新的东西,很多变化,如键盘运动,球运动等,而背景图像可以在绘制。

画桨和球

现在,我们将只在屏幕上绘图,并将UPDATE保留为空

绘图

def draw():
    paddle.draw()
    ball.draw()
    
def update():
    pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
更换背景

让我们更新绘图功能:

def draw():
    screen.blit("background.png", (0,0))
    paddle.draw()
    ball.draw()
  • 1
  • 2
  • 3
  • 4

背景是一个文件Background.png在……里面影象。这个布利特() 函数将我们的图像绘制到屏幕上。(0,0)表示从x=0y=0开始。我们将在下面讨论更多关于PyameZero坐标系的内容。

背景

布置栏杆

接下来,我们要列出我们的球将击中的所有顶部的栏杆。

在我们的目录中有一些条形图,我们将使用它们。首先,布局1栏:

bar = Actor(
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/303658
    推荐阅读
    相关标签
      

    闽ICP备14008679号