使用Pygame制作中秋嫦娥奔月小游戏
作者:极客飞虎
中秋节是中国传统的重要节日之一,起源于嫦娥奔月的神话故事,在中秋节这个特殊的日子里,人们不仅会欣赏明亮的月亮和嫦娥奔月的美丽故事,还会举行一些庆祝活动,接下来,我们使用Pygame制作“嫦娥奔月”小游戏,感兴趣的朋友可以自己动手试一试
前言
中秋节是中国传统的重要节日之一,起源于嫦娥奔月的神话故事。一个名叫逢蒙的人发现了这个秘密,他企图威胁嫦娥交出药丸。在紧急情况下,嫦娥为了保护后羿,不得不吞下了那包药。结果,她立即感觉身体飘离了地面,冲出窗口,向天上飞去。由于她牵挂着丈夫,她飞到了离人间最近的月亮上,成为了仙女。
在中秋节这个特殊的日子里,人们不仅会欣赏明亮的月亮和嫦娥奔月的美丽故事,还会举行一些庆祝活动。接下来,我们使用Pygame制作“嫦娥奔月”小游戏。
准备工作
- pygame
- sys
Pygame是一个用于开发2D游戏的Python库,它提供了许多用于游戏开发的工具和函数。使用Pygame,你可以创建各种类型的游戏,包括平台游戏、射击游戏、角色扮演游戏等。
程序代码及思路
我们先准备一张背景图,如上所示,嫦娥奔月怎么能少得了嫦娥呢。我们在准备一个嫦娥的图片。我们计划是通过嫦娥的图片实现奔月的过程。
安装相关库
import pygame import sys
初始化
# 初始化pygame pygame.init() # 设置窗口大小 infoObject = pygame.display.Info() width = infoObject.current_w height = infoObject.current_h print(width,height) window_size = (width,height-50) screen = pygame.display.set_mode(window_size)
设置标题
Pygame的初始化和窗口大小设置部分,接下来,我们设置标题和加载相应的图片。
# 设置标题 pygame.display.set_caption("嫦娥奔月") # 加载嫦娥的图片 chang_e = pygame.image.load('chang_e.jpg') # 加载背景图片 background_image = pygame.image.load('background.png') # 缩放背景图片以匹配窗口大小 background_image = pygame.transform.scale(background_image, window_size) # 设置嫦娥的初始位置 chang_e_pos = [width*0.84, height*0.66]
我们执行的效果是这样的:
游戏主程序
# 游戏主循环 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.KEYDOWN: # 监听键盘按下事件 if event.key == pygame.K_q: # 判断是否按下 Q 键 pygame.quit() sys.exit()
嫦娥奔月
我们接下来就是按键控制移动,以及移动到月亮的位置显示奔月成功。
# 检测按键事件 keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: chang_e_pos[0] -= 1 if keys[pygame.K_RIGHT]: chang_e_pos[0] += 1 if keys[pygame.K_UP]: chang_e_pos[1] -= 1 if keys[pygame.K_DOWN]: chang_e_pos[1] += 1 # 清屏 screen.fill((255, 255, 255)) # 绘制背景图片 screen.blit(background_image, (0, 0)) # 绘制嫦娥 screen.blit(chang_e, chang_e_pos) # 检查图片是否接近(250,100) if abs(chang_e_pos[0] - 250) < 10 and abs(chang_e_pos[1] - 100) < 10: sus = pygame.image.load('嫦娥奔月.jpg') font = pygame.font.Font('myfont.ttf', 40) # 设置字体和大小 tip = font.render('嫦娥奔月成功', True, (255, 0,0)) #text = font.render("嫦娥奔月成功!", True, (255, 0,0)) # 创建文本 #screen.blit(text, (30, 30)) # 将文本绘制到屏幕上 screen.blit(sus,(683,350)) screen.blit(tip,(683,360)) # 更新屏幕显示 pygame.display.update()
效果展示
全部源码
import pygame import sys # 初始化pygame pygame.init() # 设置窗口大小 infoObject = pygame.display.Info() width = infoObject.current_w height = infoObject.current_h print(width,height) window_size = (width,height-50) screen = pygame.display.set_mode(window_size) # 设置标题 pygame.display.set_caption("嫦娥奔月") # 加载嫦娥的图片 chang_e = pygame.image.load('chang_e.jpg') # 加载背景图片 background_image = pygame.image.load('background.png') # 缩放背景图片以匹配窗口大小 background_image = pygame.transform.scale(background_image, window_size) # 设置嫦娥的初始位置 #chang_e_pos = [width*0.84, height*0.66] # 游戏主循环 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.KEYDOWN: # 监听键盘按下事件 if event.key == pygame.K_q: # 判断是否按下 Q 键 pygame.quit() sys.exit() # 检测按键事件 keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: chang_e_pos[0] -= 1 if keys[pygame.K_RIGHT]: chang_e_pos[0] += 1 if keys[pygame.K_UP]: chang_e_pos[1] -= 1 if keys[pygame.K_DOWN]: chang_e_pos[1] += 1 # 清屏 screen.fill((255, 255, 255)) # 绘制背景图片 screen.blit(background_image, (0, 0)) # 绘制嫦娥 screen.blit(chang_e, chang_e_pos) # 检查图片是否接近(250,100) if abs(chang_e_pos[0] - 250) < 10 and abs(chang_e_pos[1] - 100) < 10: sus = pygame.image.load('嫦娥奔月.jpg') font = pygame.font.Font('myfont.ttf', 40) # 设置字体和大小 tip = font.render('嫦娥奔月成功', True, (255, 0,0)) #text = font.render("嫦娥奔月成功!", True, (255, 0,0)) # 创建文本 #screen.blit(text, (30, 30)) # 将文本绘制到屏幕上 screen.blit(sus,(683,350)) screen.blit(tip,(683,360)) # 更新屏幕显示 pygame.display.update() # 退出游戏前释放资源 pygame.quit()
以上就是使用Pygame制作中秋嫦娥奔月小游戏的详细内容,更多关于Pygame中秋小游戏的资料请关注脚本之家其它相关文章!