午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何基于Python pygame實(shí)現(xiàn)動(dòng)畫(huà)跑馬燈

瀏覽:100日期:2022-07-05 09:34:16

前言

大家都看過(guò)彩帶飄落吧?這個(gè)在比較喜慶的場(chǎng)合是很常見(jiàn)的:

如何基于Python pygame實(shí)現(xiàn)動(dòng)畫(huà)跑馬燈

還有“跑馬燈”效果,聽(tīng)起來(lái)很陌生,其實(shí)很常見(jiàn),下面的就是:

如何基于Python pygame實(shí)現(xiàn)動(dòng)畫(huà)跑馬燈

好了,相信大家都有了初步的認(rèn)識(shí)。當(dāng)然,如果有做前端或者搞設(shè)計(jì)的同學(xué),上面的效果應(yīng)該不難實(shí)現(xiàn),那如果想通過(guò)Python呢?有沒(méi)有包可以調(diào)用呢?

答案是有的——pygame

這個(gè)包適合用來(lái)開(kāi)發(fā)游戲,今天就不打算給大家詳細(xì)介紹了,還是想給大伙兒放松放松,以后有機(jī)會(huì)再多寫寫它。

不多說(shuō),直接甩出代碼:

import pygamefrom random import randint, choicescreen_length = 700screen_width = 500# 模擬彩帶飄落的類,掉落的詞作為彩帶class Word_drop(pygame.sprite.Sprite): # 設(shè)置屬性:包括字體、下落速度、彩帶來(lái)源、彩帶框的屬性 def __init__(self): pygame.sprite.Sprite.__init__(self) self.font = pygame.font.SysFont(name=’幼圓’, size=10, bold=True, italic=True) self.speed = randint(15, 30) self.word = self.getWord() self.image = self.font.render(self.word, True, (randint(0, 255), randint(0, 255), randint(0, 255))) self.image = pygame.transform.rotate(self.image, randint(87, 93)) self.rect = self.image.get_rect() self.rect.topleft = (randint(0, screen_length), -20) # 獲取掉落的詞 def getWord(self): length = randint(1, 8) word = ’’ for i in range(length): word += choice(’qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNM’) return word # 設(shè)置彩帶更新的條件 def update(self, *args): self.rect = self.rect.move(0, self.speed) if self.rect.top > screen_length: self.kill()# 實(shí)現(xiàn)'跑馬燈'效果的函數(shù)def word_translate(jx, ztw1, ztw2, screen_length, text): max_ztw = max(ztw1, ztw2) jx.x -= 5 if jx.x < 0 - max_ztw: jx.x = (screen_length + 10) screen.blit(text, [jx.x, jx.y])if __name__ == ’__main__’: # 初始化工作 pygame.init() pygame.font.init() # 渲染字體,兩行字 a = pygame.font.SysFont(name=’幼圓’, size=50, bold=True, italic=True) word1 = ' 中國(guó)' text1 = a.render(word1, True, (255, 0, 0), (0, 0, 0)) word2 = '我超級(jí)愛(ài)你' text2 = a.render(word2, True, (255, 0, 0), (0, 0, 0)) # '跑馬場(chǎng)'字體框的屬性 _, _, ztw1, zth1 = text1.get_rect() jx1 = pygame.Rect(screen_length, (screen_width / 2 - zth1), ztw1, zth1) _, _, ztw2, zth2 = text2.get_rect() jx2 = pygame.Rect(screen_length, (screen_width / 2), ztw2, zth2) # 其他相關(guān)設(shè)置 screen = pygame.display.set_mode((screen_length, screen_width)) clock = pygame.time.Clock() wordGroup = pygame.sprite.Group() while True: clock.tick(30) screen.fill((0, 0, 0)) # 設(shè)置退出的條件 for event in pygame.event.get(): if event.type == pygame.QUIT:pygame.quit()exit(0) # 彩帶飄落 word_object = Word_drop() wordGroup.add(word_object) wordGroup.update() wordGroup.draw(screen) # '跑馬場(chǎng)' word_translate(jx1, ztw1, ztw2, screen_length, text1) word_translate(jx2, ztw1, ztw2, screen_length, text2) pygame.display.update()

好了,來(lái)看看效果:

如何基于Python pygame實(shí)現(xiàn)動(dòng)畫(huà)跑馬燈

還不錯(cuò)吧,有沒(méi)有感覺(jué)好玩呢?

當(dāng)然,如果需要,代碼直接拿去用,根據(jù)自己的想法去改就行!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 免费成人在线视频观看 | 欧美日一区二区 | 怡红院综合网 | 久久草草 | 山岸逢花在线观看 | 男女瑟瑟 | 日韩a在线| 天堂av手机版 | 国产精品看片 | 久久国语精品 | 亚洲欧洲天堂 | 日韩在线网址 | 国产精品女同一区二区 | 成人欧美一区二区三区黑人免费 | 日韩av在线免费播放 | 日韩国产成人 | 日本免费一区二区三区四区 | 国产资源网站 | 91三级| 久久影音 | 伊人再见免费在线观看高清版 | 亚洲国产黄色片 | 五月天色婷婷丁香 | 99国产精品99久久久久久粉嫩 | 五月婷婷免费视频 | 久久黄色视屏 | 狠狠操狠狠操 | 欧美日韩久久久久久 | 亚洲国产一区二区三区在线观看 | 亚洲精品免费在线观看 | 亚洲国产精品二区 | 亚洲精选av| 91看片看淫黄大片 | 成人一区二区三区在线观看 | 亚洲第一网站 | 偷拍超碰 | 一区二区三区在线视频播放 | 有色视频在线观看 | 成人v片| 成人在线免费看片 | aaa在线免费观看 |