前言
利用Python实现Python和PyGameZero编写阿卡尼类(Outout)的克隆,废话不多说。
让我们愉快地开始吧~
开发工具
**Python版本:**3.6.4
相关模块:
pgzrun模块;
以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
游戏实现
安装游戏零:
pip install pgzero
复制代码
我们要做的第一件事是打开一个空窗口:
import pgzrun
TITLE = "Arkanoid clone"
WIDTH = 800
HEIGHT = 500
pgzrun.go()
复制代码
我们进口游戏零。标题显示在窗口上的标题,其他两个变量定义宽度和高度。
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
复制代码
演员是PyGames 0显示图像的方式。图像总是存储在影象文件夹位于与游戏脚本相同的位置。
➜ tree
.
├── game.py
└── images
├── ballblue.png
└── paddleblue.png
1 directory, 3 files
复制代码
我们还设置了正在加载的图像的起始x和y位置:
paddle.x = 120
paddle.y = 420
复制代码
这些值可以是任意的,我通过反复试验得到了上面的结果。
因此,我们将图像加载到内存中,但我们还没有显示它们。我们现在就解决这个问题。PgZero有一个内置的抽签() 函数,该函数在启动游戏时自动调用。还有一个更新函数,每秒调用60次,并在移动时更新屏幕。
更新VS绘图功能
更新和绘制函数是相似的--除非更新每秒调用60次,而只有在某些事情发生变化时才调用绘图。
没有硬和快速的规则,但我会使用更新的东西,很多变化,如键盘运动,球运动等,而背景图像可以在绘制。
画桨和球
现在,我们将只在屏幕上绘图,并将UPDATE保留为空
def draw():
paddle.draw()
ball.draw()
def update():
pass
复制代码
更换背景
让我们更新绘图功能:
def draw():
screen.blit("background.png", (0,0))
paddle.draw()
ball.draw()
复制代码
背景是一个文件Background.png在……里面影象。这个布利特() 函数将我们的图像绘制到屏幕上。(0,0)表示从x=0y=0开始。我们将在下面讨论更多关于PyameZero坐标系的内容。