加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python实战项目刮刮乐的实现详解过错

发布时间:2021-11-08 07:18:29 所属栏目:教程 来源:互联网
导读:目录 导语正文1)环境安装2)正式敲代码2.1定义必要常量2.2设置随机读取图片2.3主程序3)效果图展示3.1 part 随机图一3.2 part 随机图二3.3 part 随机图三总结 导语 在CSDN学习的过程中,遇到了爆火的文章是关于刮刮卡的! 大家猜猜看是谁写的? 我看这文章都
目录
导语正文1)环境安装2)正式敲代码2.1定义必要常量2.2设置随机读取图片2.3主程序3)效果图展示3.1 part 随机图一3.2 part 随机图二3.3 part 随机图三总结
导语
在CSDN学习的过程中,遇到了爆火的文章是关于刮刮卡的!
 
大家猜猜看是谁写的?
 
 
 
我看这文章都特别火,我也感觉挺好玩的,那就寻思用 Python肯定也能做呀!
 
这不?今天还有时间,那就带大家写一款刮刮乐的小程序吧~
 
正文
1)环境安装
准备好Python3、Pycharm、Pygame模块还有一些自带的。
 
模块安装:pip install   pygame
图片素材音乐背景可自选。【仅展示部分素材】
 
 
 
 
 
2)正式敲代码
2.1定义必要常量
BGMPATH = 'music/bgm.mp3'
IMAGEDIR = 'pictures'
SUPPORTEXTS = ['jpg', 'png', 'bmp']
SCREENSIZE = (800, 600)
WHITE = (255, 255, 255, 27)
GRAY = (192, 192, 192)
2.2设置随机读取图片
设置随机读取,更有趣味性,每张图片都特别好看哦~
 
def readImageRandomly():
filenames = os.listdir(IMAGEDIR)
filenames = [f for f in filenames if f.split('.')[-1] in SUPPORTEXTS]
imgpath = os.path.join(IMAGEDIR, random.choice(filenames))
return pygame.transform.scale(pygame.image.load(imgpath), SCREENSIZE)
2.3主程序
def main():
pygame.init()
pygame.mixer.init()
pygame.mixer.music.load(BGMPATH)
pygame.mixer.music.play(-1, 0.0)
pygame.mouse.set_cursor(*pygame.cursors.diamond)
screen = pygame.display.set_mode(SCREENSIZE)
pygame.display.set_caption('小程序——唯美古风')
surface = pygame.Surface(SCREENSIZE).convert_alpha()
surface.fill(GRAY)
image_used = readImageRandomly()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit(-1)
mouse_event_flags = pygame.mouse.get_pressed()
if mouse_event_flags[0]:
pygame.draw.circle(surface, WHITE, pygame.mouse.get_pos(), 40)
elif mouse_event_flags[-1]:
surface.fill(GRAY)
image_used = readImageRandomly()
screen.blit(image_used, (0, 0))
screen.blit(surface, (0, 0))
pygame.display.update()

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!