我写的这个代码是递进式的,下一个代码包含前一个需求的代码,为了方便新手理解(我自己也是个新手哈)。可以比较前后两个代码的不同,能够看出这个游戏的开发思路,思路不唯一哈。
1、游戏基本框架
导入pygame模块
窗口的一些设置
screen = pygame.display.set_mode() 设置窗口大小
pygame.display.set_caption() 设置游戏窗口标题
pygame.display.set_icon() 设置窗口左上角图标
注:必须使用变量记录set_mode方法的返回窗口对象,因为:后续所有的图像绘制都基于这个返回结果
screen.blit(background,(x,y))向窗口中粘贴背景图片,(x,y)对应的是图片左上角的坐标
pygame.display.update() # 更新屏幕显示
V1.0版本
import pygame
window = pygame.display.set_mode((480,500)) # 设置游戏窗口大小
pygame.display.set_caption('飞机大战') # 设置游戏窗口标题
icon = pygame.image.load(r'C:\Users\Administrator\Desktop\0715系统班\飞机大战\img\icon72x72.png')
pygame.display.set_icon(icon)# 设置窗口左上角图标
background = pygame.image.load(r'C:\Users\Administrator\Desktop\0715系统班\飞机大战\img\background.png')# 设置窗口背景图片
# 游戏循环,进入游戏循环就意味着游戏的开始
while True:
window.blit(background,(0,0)) # 将背景图片粘贴到窗口
# 获取事件并逐类响应
for event in pygame.event.get():
if event.type == pygame.QUIT: # 如果事件的类型是退出(点击退出按钮触发)
print('退出了')
exit(0)
pygame.display.update() # update更新屏幕显示
2、添加玩家飞机,并控制飞机左右移动
需求:加载玩家飞机图片,并控制飞机左右移动
1.加载玩家飞机图片
pygame.image.load(‘图片路径’)
将玩家飞机图片粘贴到窗口上
2.控制飞机左右移动
导入模块from pygame.locals import *
触发事件KEYDOWN
(1)如果控制飞机左移,触发事件K_LEFT
飞机左移,横坐标减小
控制飞机移动范围,防止飞机跑丢了
(2)如果控制飞机右移,触发事件K_RIGHT
飞机右移,横坐标增加
控制飞机移动范围,防止飞机跑丢了
import pygame
from pygame.locals import *
window = pygame.display.set_mode((480,500)) # 设置游戏窗口大小
pygame.display.set_caption('飞机大战') # 设置游戏窗口标题
icon = pygame.image.load(r'C:\Users\Administrator\Desktop\0715系统班\飞机大战\img\icon72x72.png')
pygame.display.set_icon(icon)# 设置窗口左上角图标
playerPlane = pygame.image.load(r'C:\Users\Administrator\Desktop\0715系统班\飞机大战\img\hero.gif') # 加载玩家飞机图片,图片尺寸100×124
player_x = (480-100)//2 # 飞机左上角坐标,横坐标
player_y = 500-124 # 纵坐标
background = pygame.image.load(r'C:\Users\Administrator\Desktop\0715系统班\飞机大战\img\background.png')# 设置窗口背景图片
# 游戏循环,进入游戏循环就意味着游戏的开始
while True:
window.blit(background,(0,0)) # 将背景图片粘贴到窗口
window.blit(playerPlane,(player_x,player_y)