猫史档案馆


【Python作品分享】欢欢喜喜【作业帖】

用户:future....future....查看:0 回复:0 评论:0 创建时间:2021-04-19T19:46:15


【作品展示】

center_image

 

【作品介绍】

广西壮族自治区成立60周年庆祝活动吉祥物取名为“欢欢”和“喜喜”,寓意自治区成立60周年庆祝活动的喜庆与欢乐,以身穿壮族服饰的男、女孩为创作原型,运用现代卡通的表现手法,塑造出一对可爱的动漫形象。简洁的线条和亮丽的色彩,凸显出吉祥物动感的姿态和欢快的表情。他们张开双手,大步向您欢呼而来,不仅彰显出热情与好客的形象特征,更是在期待和迎接来宾欢聚广西,欢庆佳节,既想与宾朋好友分享喜悦与梦想,又想让大家感触广西的魅力。

 

【作品源代码】

import wordcloud #导入词云库
import jieba
import imageio
import pygame
import sys
#第一部分生成词云图
#读取图轮廓
mk1 = imageio.imread("欢欢p.png")
mk2 = imageio.imread("喜喜p.png")
#分别来创建词云对象
w1 = wordcloud.WordCloud(mask=mk1,background_color='white',font_path='simhei.ttf')
w2 = wordcloud.WordCloud(mask=mk1, background_color='white', font_path='simhei.ttf')
#读取文件
txt = open("欢欢.txt", 'r' ,encoding='utf-8').read()
#使用lcut分词
#txt = jieba.lcut(txt)
#使用jion(空格方式)分词
txt = ' '.join(txt)
#设置词云图参数
w1.generate(txt)
w2.generate(txt)
#生成词云图片
w1.to_file('hhc.png')
w2.to_file('xxc.png')

#第二部分创建游戏窗口
#设置游戏窗口宽高
size = width, height = 800, 600
#创建游戏窗口
screen = pygame.display.set_mode(size)
#创建游戏窗口的标题
pygame.display.set_caption("欢欢喜喜介绍函")
#加载角喵片
hh = pygame.image.load("欢欢p.png")
xx = pygame.image.load("喜喜p.png")
hhc = pygame.image.load("hhc.png")
xxc = pygame.image.load("xxc.png")
#创建人物角色坐标
x1 = 0
y1 = 200
x2 = 600
y2 = 170
#字体创建
#初始化pygame
pygame.init()
#定义一个字体对象,None表示系统默认字体。大小为50
font1 = pygame.font.SysFont(None, 40)
font2 = pygame.font.SysFont("simhei", 50)
font3 = pygame.font.SysFont("simhei", 30)
font4 = pygame.font.SysFont("simhei", 30)
font5 = pygame.font.SysFont("simhei", 15)
font6 = pygame.font.SysFont("simhei", 30)

ww1 = font1.render('Gvangisih Bouxcuengh Swcigih 1958', 1, (255, 165, 0))#橙色
ww2 = font2.render('广西壮族自治区', 1, (255, 165, 0))#橙色
ww3 = font3.render("欢欢", 1, (128,0,128))#紫色
ww4 = font3.render("喜喜", 1, (128,0,128))
ww5 = font3.render("想要更详细地了解我们吗?请点我吧!", 1, (196, 2, 51))  # 红色
ww6 = font2.render("广西欢迎您", 1, (128,0,128))
#设置字体坐标
y3=700
y4=700
x5=800
#设置第一个界面
num=0
#加载歌曲
pygame.mixer.init()#初始化mixer
pygame.mixer.music.set_volume(0.2)
pygame.mixer.music.load('民歌.mp3')
pygame.mixer.music.play()#播放
while True:
    #获得鼠标位置
    mouse_x, mouse_y = pygame.mouse.get_pos()
    #遍历列表
    for event in pygame.event.get():
    #判断事件是否为点击关闭按键
        if event.type == pygame.QUIT:
            #退出系统
            sys.exit()
        elif event.type == pygame.MOUSEBUTTONDOWN:
            #判断点击的是否是鼠标左键
            if event.button == 1:
                #点击的位置区域范围是否在两个角色之间
                if mouse_x > 200 and mouse_x < 570 and mouse_y > 170 and mouse_y < 450:
                    num=num+1
                    print(111)
    if num==0:            
        #填充屏幕背景为白色
        screen.fill((255,255,255))
        #加载图片欢欢
        screen.blit(hh,(x1,y1))
        screen.blit(xx, (x2, y2))
        #h喵移动循环控制
        x1 = x1+2
        if x1>200:
            x1=200
        #刷新屏幕才能出现白色背景
        #xx图移动循环控制
        x2=x2-2
        y2=y2+0.4
        if x2 < 400:
            x2=400
            y2=210
        #绘制文字
        screen.blit(ww1, (100, 100))
        screen.blit(ww2, (200, 40))
        screen.blit(ww3, (250, y3))
        screen.blit(ww4, (470, y4))
        screen.blit(ww5, (x5, 150))
        y3 = y3-1
        y4=y4-1
        if y3<500:
            y3=500
        if y4<500:
            y4=500
        x5=x5-3
        if x5<130:
            x5=130     
    if num==1:
         #填充屏幕背景为白色
        screen.fill((255,255,255))
        #加载图片欢欢
        screen.blit(hhc,(x1,y1))
        screen.blit(xxc, (x2, y2))
        #绘制文字
        screen.blit(ww1, (100, 100))
        screen.blit(ww2, (200, 40))
        screen.blit(ww3, (250, y3))
        screen.blit(ww4, (470, y4))
        screen.blit(ww6, (250, 140))

    pygame.display.update()
    #设置图片延迟15秒
    pygame.time.delay(15)

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页