小学课后服务 Python少儿编程 进阶篇:10-飞机大战1 (19张PPT)

资源下载
  1. 二一教育资源

小学课后服务 Python少儿编程 进阶篇:10-飞机大战1 (19张PPT)

资源简介

(共19张PPT)
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque tatibus et magnis dis parturient montes, nascetur ridiculus mus.
少儿编程课
飞机大战1
Pygame简介与下载安装
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键
程序就退出
事件
事件是什么?
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中事件的简单理解与使用

颜色表达方式——RGB的理解与运用

Thanks!

展开更多......

收起↑

资源预览