本系列课程适合已经掌握Python基本语法、基本数据结构和面向对象编程的学生。如果你还没有相关的技能,推荐参加我们的Python基础班。本课程的运行环境是我们的编程客户端,客户端中已安装好相关的模块,学生可以直接复制代码到编辑栏后运行。学编程法宝——手打代码,把代码容器中的有效代码(除了注释和空行)手工打到编辑器中然后运行测试。Pygame的框架非常简单——一个游戏循环,在循环中完成游戏的所有功能。Pygame 与其他一些库不同,它让你完全控制程序的执行。这种自由度意味着在初学阶段很容易出错。下面是一个基本设置的好例子(打开窗口、更新屏幕并处理事件)——
# 示例文件:展示一个基本的 pygame “游戏循环”import pygame# pygame 设置pygame.init()screen = pygame.display.set_mode((1280, 720))clock = pygame.time.Clock()running = Truewhile running: # 轮询事件 # pygame.QUIT 事件表示用户点击了关闭窗口的 X 按钮 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 用颜色填充屏幕,以清除上一帧的内容 screen.fill("purple") # 在此处渲染你的游戏 # flip() 将绘制的内容显示到屏幕上 pygame.display.flip() clock.tick(60) # 限制帧率为 60 FPSpygame.quit()
程序运行视频:
下面是一个稍微丰富一些的例子,展示如何在屏幕上移动一个圆形(注意:保证输入法状态是英文)——
# 示例文件:展示一个在屏幕上移动的圆形import pygame# pygame 设置pygame.init()screen = pygame.display.set_mode((1280, 720))clock = pygame.time.Clock()running = Truedt = 0player_pos = pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)while running: # 轮询事件 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 填充背景色 screen.fill("purple") pygame.draw.circle(screen, "red", player_pos, 40) keys = pygame.key.get_pressed() if keys[pygame.K_w]: player_pos.y -= 300 * dt if keys[pygame.K_s]: player_pos.y += 300 * dt if keys[pygame.K_a]: player_pos.x -= 300 * dt if keys[pygame.K_d]: player_pos.x += 300 * dt # 更新显示 pygame.display.flip() # 限制帧率为 60 FPS # dt 是自上一帧以来的秒数(delta time),用于与帧率无关的物理计算 dt = clock.tick(60) / 1000pygame.quit()
程序运行视频:
后续的教程将深入细致地介绍Pygame的使用细节。
报名咨询:
微信:码助教
微信号:www_5xstar_com 13729135043
资料库:https://5xstar.com