当先锋百科网

首页 1 2 3 4 5 6 7

本文章是一篇学习笔记。加入了自己的理解。

最终实现的是小球的一个移动

pygame:就是一个制作游戏的模块,在Python中进行调用即可。

impor pygame  #导入pygame模块

impor sys   #导入sys模块

pygame.init()  #初始化pygame

screen = pygame.display.set_mode((600,400))  #设置窗口

while True:  #主循环

for event in pygame.event.get():    #添加检查事件

if event.type == pygame.QUIT:    #退出事件,当鼠标点击退出按钮时退出程序

sys.exit()

pygame.quit()

上面代码主要实现:窗口化和退出事件。

impor pygame  #导入pygame模块

impor 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,400screen= 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()改进版代码