序言

文中的文本及图片来自互联网,仅作学习培训、沟通交流应用,不具备一切商业行为,著作权归著作人全部,如不太好请立即在线留言以作解决。

创作者:黑与白之道

刮刮卡一般指卡上的一种遮盖数据和英文字母登陆密码等的镀层 ,一般包含纸版和电子器件二种种类,刮刮卡在销售市场上拥有较为普遍的运用,大家看到数最多的应该是各种抽奖了 ,文中大家应用 Python 来做一个简易的抽奖活动刮刮卡 。

 

完成

最先 ,大家弄多张照片做底版,以下所显示:

 

从图上我们可以见到底图包含:一等奖 、二等奖、谢谢惠顾三种,如果我们参加过刮刮卡抽奖活动得话 ,会发觉基本上涂刮全是谢谢惠顾这类的,也就是有一个几率的难题,这儿大家也简易设定一下 ,一等奖放一张、二等奖放二张 、谢谢惠顾放三张,转化成刮刮卡时任意应用底图就可以了。

完成刮刮卡,大家关键采用是 pygame 控制模块 ,以前做游戏时早已采用过几回了,大伙儿应当都较为了解,下边看一下实际完成。

大家先界定一下变量定义 ,如:相对路径 、图片类型、色调等,代码完成以下:

path = 'prize'
ptype = ['jpg', 'png', 'bmp', 'JPG', 'PNG', 'BMP']
# 对话框尺寸
screen_size = (600, 400)
white = (255, 255, 255, 20)
gray = (192, 192, 192)

随后建立一个对话框,代码完成以下:

pygame.init()
pygame.mouse.set_cursor(*pygame.cursors.diamond)
screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption('刮一刮抽奖活动')

然后从全部底图中任意取下一张关联到对话框 ,代码完成以下:

filenames = os.listdir(path)
filenames = [f for f in filenames if f.split('.')[-1] in ptype]
imgpath = os.path.join(path, random.choice(filenames))
image_used = pygame.transform.scale(pygame.image.load(imgpath), screen_size)
screen.blit(image_used, (0, 0))

再然后做一个深灰色的涂层遮盖到底图上 ,代码完成以下:

surface = pygame.Surface(screen_size).convert_alpha()
surface.fill(gray)
screen.blit(surface, (0, 0))

最终,大家界定一下鼠标事件,在电脑鼠标挪动历经的地区 ,将涂层置为全透明,露出底图,代码完成以下:

mouse_event = pygame.mouse.get_pressed()
if mouse_event[0]:
 pygame.draw.circle(surface, white, pygame.mouse.get_pos(), 40)
elif mouse_event[-1]:
 surface.fill(gray)
 image_used = pygame.transform.scale(pygame.image.load(imgpath), screen_size)

一起来看一下完成实际效果:

 

是否有内味了

小结

文中大家应用 Python 完成了一个简易的刮刮卡 ,有兴趣爱好得话,能够对一些完成关键点、实际效果等做进一步健全 。

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣快排SEO www.SeogurUblog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ▶61910465