Python——pygame入门实例
本文章是一篇学习笔记。加入了自己的理解。
最终实现的是小球的一个移动
pygame:就是一个制作游戏的模块,在Python中进行调用即可。
import pygame#导入pygame模块
pygame.init()#初始化pygame
screen = pygame.display.set_mode((600,400))#设置窗口
condition = True #创建游戏结束的条件
while condition:#主循环
for event in pygame.event.get():#添加检查事件
if event.type == pygame.QUIT:#退出事件,当鼠标点击退出按钮时退出程序
condition = False #更改游戏退出条件
pygame.quit() #游戏退出
上面代码主要实现:窗口化和退出事件。
import pygame #导入pygame模块 import sys #导入sys模块 pygame.init() #初始化pygame screen = pygame.display.set_mode((600,400)) #设置窗口 ball = pygame.image.load("./box.glf") #导入小球图片,图片的路径请自行修改。
ballrect = ball.get_rect() #通过get_rect()这个函数就可以获取图片的位置
print(ballrect) #这里可以通过输出来看一下图片的所在位置
seppn = [1,1] #x轴和y轴的位置
clock=pygame.time.Clock() #设置时间,这里要注意的是Clock的首字母一定要大写
while True: #主循环 clock.tick(100) #每秒执行100秒
for event in pygame.event.get(): #添加检查事件 if event.type == pygame.QUIT: #退出事件,当鼠标点击退出按钮时退出程序 sys.exit()
ballrect = ballrect.move(seppn)
if ballrect.left < 0 or ballrect.right > 600: #碰撞检查
speed[0] = -speed[0] #取反
if ballrect.top < 0 or ballrect.bottom > 400:
speed[1] = -speed[1] #取反
screen。fill((0,0,0)) #添加一个新的背景,因为每次在while循环更新的时候我们生成一个背景,当第二次的时候又会生成一个新背景来覆盖小球此时小球看起来就不会有重叠的现象了
screen.blit(ball, ballrect) #将ball和ballrect 显示在窗口中
pygam.display.flip() #显示窗口的内容
pygame.quit()
上述代码实现:1.添加小球
2.显示小球的位置
3.检查小球的碰撞
4.增加一个新的背景让小球看起来不会有重叠的现象
5.设置一下小球的速度
6.完成小球的整个运动
以下代码是改进完后的代码
impor pygame #导入pygame模块 impor sys #导入sys模块 pygame.init() #初始化pygame size = width, height = 600,400 screen = pygame.display.set_mode(size) #设置窗口 ball = pygame.image.load("./box.glf") #导入小球图片,图片的路径请自行修改。 ballrect = ball.get_rect() #通过get_rect()这个函数就可以获取图片的位置 print(ballrect) #这里可以通过输出来看一下图片的所在位置 seppn = [1,1] #x轴和y轴的位置 clock=pygame.time.Clock() #设置时间,这里要注意的是Clock的首字母一定要大写 color = (0,0,0) #设置颜色 while True: #主循环 clock.tick(100) #每秒执行100秒 for event in pygame.event.get(): #添加检查事件 if event.type == pygame.QUIT: #退出事件,当鼠标点击退出按钮时退出程序 sys.exit() ballrect = ballrect.move(seppn) #向x轴和y轴移动 if ballrect.left < 0 or ballrect.right > width: #碰撞检查 speed[0] = -speed[0] #取反 if ballrect.top < 0 or ballrect.bottom > height: speed[1] = -speed[1] #取反 screen。fill(color) #添加一个新的背景,因为每次在while循环更新的时候我们生成一个背景,当第二次的时候又会生成一个新背景来覆盖小球此时小球看起来就不会有重叠的现象了 screen.blit(ball, ballrect) #将ball和ballrect 显示在窗口中 pygam.display.flip() #显示窗口的内容 pygame.quit()
自行获取图片: