Python第十课-飞机大战(课件)

2024-03-01
| 19页
| 240人阅读
| 6人下载
普通

内容正文:

少儿编程课 1 飞机大战1 Pygame简介与下载安装 3 Pygame简介 Pygame是一套用来写游戏的Python模块 同时,pygame也是一个第三方库模块,所以如果我们想要使用它,首先需要下载安装 Pygame能够制作什么游戏? 现在,开始下载安装pygame 1 打开cmd,输入pip install pygame 2 按下回车,将会自动下载安装 安装完成之后,首先创建一个屏幕 1 导入与初始化 2 然后创建一个屏幕 import pygame from pygame.locals import * # 定义屏幕宽、高 WIDTH = 480 HEIGHT = 600 # 初始化 pygame.init() # 创建屏幕 screen=pygame.display.set_mode((WIDTH, HEIGHT)) 运行程序,可以看到窗口出现 可以看到,虽然屏幕出现了,但是很快又消失了,这是为什么呢? 1 程序的执行过程是从上往下顺序执行 当程序执行到末尾,进入死循环,程序一直不会结束,之前创建的屏幕就不会消失。 2 使用死循环来解决这个问题 屏幕闪退的原因和解决方法: 1+1 2+2 3+3 4+4 2 4 6 8 当程序执行到末尾,没有其他程序段可执行,程序退出,屏幕跟着消失。 3 添加死循环 while True: pass 4 再次运行程序,屏幕不在闪退 但是此时又有其他的问题,退出十分的费劲 程序运行之后,点击好几次叉号退出都没有反应,而且程序很容易卡死。 如何更方便的退出? 实现这个功能,我们需要先了解一下“事件” 比如像很多程序的退出一样: 按下键盘上的ESC键 程序就退出 事件 11 事件是什么? 1 点击鼠标是事件 2 按下键盘是事件 3 点击叉号,关闭我们编写的这个程序也是事件 而对于这些事件,pygame都能够知道 点击鼠标 按下键盘 滑动鼠标 . . 事件包含事件、事件源和事件监听。在pygame中,事件可以这样简单来总结: 在了解事件之后,开始编写退出游戏的功能 1 完善死循环代码,实现退出功能 running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: # 结束游戏 running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: # 结束游戏 running = False 2 然后让程序退出时,Pygame彻底退出 pygame.quit() 3 运行程序,尝试几次退出功能的效果 pygame.event.get能够监听并获得所有的事件,通过它可以知道是否按下了某个按键 接着绘制一个飞机出来,最开始可以使用一个绿色的小方块来表示 1 定义一个surface 2 将surface的颜色改为绿色 surf_plane = pygame.Surface((50, 50)) # 设置surf_plane的背景颜色 surf_plane.fill((0, 255, 0)) 在pygame中,surface代表一块区域,例如整个屏幕。 上面的代码定义了一个长和宽都为50像素,颜色为黑色的正方形区域 这里指定颜色时,是使用rgb来表达颜色的 屏幕上的一个像素点由三种颜色构成:红、绿、蓝也就是RGB。 三种颜色可以混合出很多种颜色,取值范围是0到255。 比如(255, 0, 0)就表示红色全部,加0个绿色,加0个蓝色,最终还是红色。 练习 Exercises 密 封 线 内 不 准 答 题 将这个正方形颜色修改为蓝色 接着我们把表示飞机的方块画到屏幕中,先来了解下Pygame中的坐标系 (0,0) 600 480 (0,600) (480,0) (?,?) X轴 Y轴 注意:在pygame中,使用的单位是像素 将飞机画到屏幕左上角 1 将正方形画到屏幕 3 运行程序,方块表示的飞机就显示在屏幕中了 # 将正方形绘制到屏幕上 screen.blit(surf_plane, (100, 100)) 注意:这句话要写在循环中。 第一个参数表示这个正方形,第二对参数表示绘制出的正方形的左上角的坐标。 2 重绘画面,使绿色小块显示 # 重绘游戏界面,相当于刷新一次 pygame.display.flip() 总结 Summary pygame简单使用 √ Pygame中事件的简单理解与使用 √ 颜色

资源预览图

Python第十课-飞机大战(课件)
1
Python第十课-飞机大战(课件)
2
Python第十课-飞机大战(课件)
3
Python第十课-飞机大战(课件)
4
Python第十课-飞机大战(课件)
5
Python第十课-飞机大战(课件)
6
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。