保姆级飞机大战教程(一)

ps:素材内容在文末,有需要的请自取

1.安装pygame模块

1)在终端输入安装的命令语句

pip install pygame

2)确认是否安装pygame命令

python -m pygame.examples.aliens

安装成会弹出一个游戏窗口界面

在这里插入图片描述

2.项目准备

1)新建飞机大战的项目
2)新建一个空白的.py文件
3)导入游戏素材图片

如何利用图片开发游戏
(1)把静止的图片绘制到游戏窗口
(2)根据用户交互或其他情况,移动这些图片,产生动画效果
(3)根据图像间是否发生重叠,判断敌机是否被摧毁等情况

3.使用pygame创建图形窗口

1)pygame的初始化和退出

(1)两个重要方法

  • 初始化pygame.init()
    导入并初始化所有pygame模块,才可以使用其他模块
  • 游戏结束之前,调用pygame.quit()
    卸载所有pygame模块 ,及时释放内存空间

2 ) pygame游戏中的坐标系(通过坐标系z知道把图片放在什么位置)

  • 坐标轴
    原点左上角(0,0)
    x轴水平方向向逐渐增加
    y轴垂直方向向逐渐增加
    在这里插入图片描述
    所有能看到的元素以矩形描述,确定元素位置,需要知道元素的宽度和高度,确定矩形大小,知道元素 的**(x,y)确定元素左上角的位置**
  • 一个特殊的描述矩形区域的类pygame.Rect

-Rect(x, y, width, height)--> Rect
在这里插入图片描述
案例实战
定义hero_rect描述英雄的位置和大小,输出坐标和宽度高度

import pygame
hero_rect = pygame.Rect(100,500,112,125)
print("英雄的原点 %d %d" % (hero_rect.x,hero_rect.y))
print("英雄的原点 %d %d" % (hero_rect.width,hero_rect.height))
print("%d %d" % (hero_rect.x,hero_rect.y))

输出结果
在这里插入图片描述
3)创建游戏主窗口
创建和管理游戏窗口pygame.display
set_mode方法

  • pygame.display.set_mode()
set_mode(resolution(0,0),flags=0,depth=0)-->Surface

在这里插入图片描述

#创建游戏窗口
screen = pygame.display.set_mode((480,700))
  • pygame.display.update()用于刷新屏幕内容显示,稍后使用

4)简单的游戏循环
(1)目的:游戏程序启动后,不会立即退出,会在游戏中增加无限循环

#创建游戏的窗口480*700
screen = pygame.display.set_mode((480,700))
#简单游戏循环
while True:
    pass
pygame.quit()

(2)理解图像并实现图像绘制

  • 图像文件最开始是保存在磁盘第一步需要被加载到内存
    1.使用pygame.image.load()加载图像的数据
    2.使用游戏屏幕的对象,调用blit方法将整个图像绘制到指定位置
    3.调用pygame.display.update()方法更新整个屏幕的显示(只有调用,才能看到绘制结果)
    在这里插入图片描述
    代码演练1–绘制背景图像
    要求
  • 加载background.png创建背景
  • 背景绘制在屏幕(0,0)位置
  • 调用屏幕更新显示背景图像
    代码
import pygame
pygame.init()
#创建游戏的窗口480*700
screen = pygame.display.set_mode((480,700))
#绘制背景图像
#1>加载图像数据(写路径)
bg = pygame.image.load("./image/background.png")
#2>blit绘制图像(背景图像,位置)
screen.blit(bg,(0,0))
#3>update更新屏幕显示,不是黑色
pygame.display.update()
#返回游戏的参考,里面参数可以为0
while True:
    pass
pygame.quit()

运行结果
在这里插入图片描述

素材内容
链接:https://pan.baidu.com/s/1NKwrQjRHiMjRBZ8oAECfMw
提取码:gtox
复制这段内容后打开百度网盘手机App,操作更方便哦

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值