1前言
在学习编程的时候,由于算法训练的题目比较枯燥乏味,容易引起视觉疲惫,所以在这之余可以用编程写一些可视化的程序,比如今天小编给大家带来的pygame基础。其中会用一个壁球小游戏的实例来帮助大家记忆。
2准备
由于本文所使用的pygame是专为python打造的一个游戏库,所以需要python环境是必然的。这里小编就不讲了,自己到python官网下载安装。然后有了python环境后,还需要pip安装pygame,可以打开命令行输入以下代码即可安装。pip install pygame
3步骤详解
配置好环境后,就可以跟着小编一起完成以下步骤。
3.1导入模块以及初始化import pygame
import random
pygame.init() #初始化pygame中的类
3.2设置窗口
窗口的参数也与前面小编讲过的其他库类似,标题、大小、颜色等。fpsClock = pygame.time.Clock()
fps = 500 #设置频率(可选)
screen = pygame.display.set_mode((700,700))
pygame.display.set_caption(‘壁球游戏’)
3.3主循环
如果就这样运行会发现屏幕闪一下就没了,是因为pygame的工作原理是一遍一遍的将所有元素重新绘制在屏幕中,所以还需要设置主循环。设置了主循环还需要设置退出的条件,这里就设计到pygame的事件处理了。首先需要在pygame时间列表中循环时间,找到所产生的时间,因为要退出,所以时间类型为QUIT,然后直接用exit()函数退出程序。while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
fpsClock.tick(fps)
pygame.display.update()
其中update()函数就是不停的更新屏幕中的内容。这里可以运行看一下。
图3.1主窗口
3.4加载壁球
有了窗口后,就需要在上面加载壁球,其可选参数也是图片名称,位置。除此基本参数外,还可以自己设置壁球移动的速度和距离。ball = pygame.image.load(‘resource/壁球.png’)
b_x = 0
b_y = 250
distance_x = 1
distance_y = 1
speed = 2
screen.fill((r,g,b))
screen.blit(ball,(b_x,b_y))
与以往一样,所有的资源文件都放在与代码文件同目录下的resource文件中。做到这一步,此时的运行结果是:
图3.2加载壁球
3.5控制壁球
有了壁球后,对其坐标进行改变,再通过每次的刷新就可以实现壁球的移动了。为了代码的可读性,这里可以定义一个函数来实现这个功能。def b_move():
r, g, b = random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)
global b_x,b_y,distance_x,distance_y,speed
b_x += distance_x*speed
b_y += distance_y*speed
screen.fill((r,g,b))
screen.blit(ball,(b_x,b_y))
if b_x>=500 or b_x
Original: https://blog.csdn.net/weixin_33401529/article/details/113974268
Author: 公子大白0m0
Title: python壁球游戏_Python|pygame基础之壁球游戏
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/783291/
转载文章受原作者版权保护。转载请注明原作者出处!