Python实战项目 --> 飞机大战(学习过程·上)

实战项目–>飞机大战

学习自B站黑马程序员

一、使用pygame创建图形窗口

在这里插入图片描述在这里插入图片描述

例:

import pygame

pygame.init()

#编写游戏代码

print(“游戏代码…”)

pygame.quit()


在这里插入图片描述
在这里插入图片描述

例:

import pygame

hero_rect = pygame.Rect(100, 500, 120, 125)

print(“英雄的原点: %d %d” % (hero_rect.x, hero_rect.y))
print(“英雄的尺寸: %d %d” % (hero_rect.width, hero_rect.height))
print("%d %d " % hero_rect.size)


在这里插入图片描述

例:

import pygame

pygame.init()

#创建游戏窗口
screen = pygame.display.set_mode((480, 700))

pygame.quit()**
在这里插入图片描述


二、理解 图像 并实现图像绘制

在这里插入图片描述

例:

import pygame
pygame.init()

#创建游戏窗口
screen = pygame.display.set_mode((480, 700))

#绘制背景图像

#1>加载图像数据
bg = pygame.image.load("./images/background.png")
#2>bilt 绘制图像
screen.blit(bg, (0, 0))
#3>update 更新屏幕显示
pygame.display.update()

while True:
pygame.event.get(1000)
pass

pygame.quit()


在这里插入图片描述

例:

import pygame

pygame.init()

#创建游戏窗口
screen = pygame.display.set_mode((480, 700))

#绘制背景图像
#1>加载图像数据
bg = pygame.image.load("./images/background.png")
#2>bilt 绘制图像
screen.blit(bg, (0, 0))
#3>update 更新屏幕显示
pygame.display.update()

#绘制英雄的飞机,注意顺序不要被覆盖
hero = pygame.image.load("./images/me1.png")
screen.blit(hero, (180, 500))
pygame.display.update()

while True:
pygame.event.get(1000)
pass

pygame.quit()


在这里插入图片描述

例:

import pygame

pygame.init()

#创建游戏窗口
screen = pygame.display.set_mode((480, 700))

#绘制背景图像
#1>加载图像数据
bg = pygame.image.load("./images/background.png")
screen.blit(bg, (0, 0))

#绘制英雄的飞机,注意顺序不要被覆盖
hero = pygame.image.load("./images/me1.png")
screen.blit(hero, (180, 500))

#可以在所有工作完成后,统一调用update方法
pygame.display.update()

while True:
pygame.event.get(1000)
pass

pygame.quit()


三、理解 游戏循环 和 游戏时钟

在这里插入图片描述

每一次调用 update 产生的效果,叫做帧。


在这里插入图片描述


在这里插入图片描述
import pygame

pygame.init()

#创建游戏窗口
screen = pygame.display.set_mode((480, 700))

#绘制背景图像
bg = pygame.image.load("./images/background.png")
screen.blit(bg, (0, 0))

hero = pygame.image.load("./images/me1.png")
screen.blit(hero, (180, 500))

pygame.display.update()

#创建时钟对象
clock = pygame.time.Clock()

#游戏循环 -> 意味着游戏正式开始
while True:
# pygame.event.get(1000)
clock.tick(60)
# 每秒 while 循环内部代码执行频率

pygame.quit()


在这里插入图片描述

部分:

clock = pygame.time.Clock()

#1.定义rect记录飞机的初始位置
hero_rect = pygame.Rect(180, 500, 102, 126)

while True:
# pygame.event.get(1000)
clock.tick(60)

# 2.修改飞机的位置
hero_rect.y -= 1
# 3.调用 bilt 方法绘制图像
screen.blit(bg, (0, 0))
screen.blit(hero, hero_rect)

# 4.调用 update 方法更新显示
pygame.display.update()


在这里插入图片描述

部分:

while True:
clock.tick(60)
# 捕获事件
event_list = pygame.event.get()
if len(event_list) > 0:
print(event_list)

hero_rect.y -= 3
if hero_rect.y <= -126:
hero_rect.y = 700
screen.blit(bg, (0, 0))
screen.blit(hero, hero_rect)
pygame.display.update()
监听退出代码QUIT

部分:

clock.tick(60)

#监听事件
for event in pygame.event.get():
# 判断事件类型是否是退出事件
if event.type == pygame.QUIT:
print(“游戏退出…”)

# quit 卸载所有模块
pygame.quit()
exit()

hero_rect.y -= 3
if hero_rect.y <= -126:
hero_rect.y = 700

screen.blit(bg, (0, 0))
screen.blit(hero, hero_rect)

pygame.display.update()


猜你喜欢

转载自blog.csdn.net/qq_52773803/article/details/114269391