Python趣味挑戰(zhàn)之教你用pygame畫進(jìn)度條
一、初始化主界面
import pygame pygame.init() screen = pygame.display.set_mode((500,300)) pygame.display.set_caption("好看的進(jìn)度條顯示V1.0") clock = pygame.time.Clock() while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == pygame.K_F1: pygame.quit() sys.exit() screen.fill((255,255,255)) clock.tick(30) pygame.display.flip()
二、第一種進(jìn)度條
(一)核心代碼
pygame.draw.rect(screen,(192,192,192),(5,100,490,20)) pygame.draw.rect(screen,(0,0,255),(5,100,step,20))
(二)設(shè)置步長(zhǎng),并循環(huán)遞增
step += 1
(三)完整代碼
import pygame,sys pygame.init() screen = pygame.display.set_mode((500,300)) pygame.display.set_caption("好看的進(jìn)度條顯示V1.0") clock = pygame.time.Clock() step = 0 while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == pygame.K_F1: pygame.quit() sys.exit() screen.fill((255,255,255)) # screen.fill((0,0,0)) pygame.draw.rect(screen,(192,192,192),(5,100,490,20)) pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20)) step += 1 clock.tick(60) pygame.display.flip()
(四)運(yùn)行效果
三、第二種進(jìn)度條
(一)核心代碼
pygame.draw.rect(screen,(192,192,192),(5,100,490,20)) pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20)) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % 490)/490*100)), True, (255,0,0)) screen.blit(text1, (245, 100))
(二)完整代碼
import pygame,sys pygame.init() screen = pygame.display.set_mode((500,300)) pygame.display.set_caption("好看的進(jìn)度條顯示V1.0") clock = pygame.time.Clock() step = 0 while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == pygame.K_F1: pygame.quit() sys.exit() screen.fill((255,255,255)) # screen.fill((0,0,0)) pygame.draw.rect(screen,(192,192,192),(5,100,490,20)) pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20)) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % 490)/490*100)), True, (255,0,0)) screen.blit(text1, (245, 100)) step += 1 clock.tick(60) pygame.display.flip()
(三)運(yùn)行結(jié)果
四、第三種進(jìn)度條
(一)核心代碼
pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20)) pygame.draw.rect(screen,(0,0,255),(5,100,step % length,20)) pygame.draw.circle(screen,(0,0,255),(step % length,110),10) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0)) screen.blit(text1, (245, 100))
(二)完整代碼
import pygame,sys pygame.init() screen = pygame.display.set_mode((500,300)) pygame.display.set_caption("好看的進(jìn)度條顯示V1.0") clock = pygame.time.Clock() step = 0 length = 480 while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == pygame.K_F1: pygame.quit() sys.exit() screen.fill((255,255,255)) # screen.fill((0,0,0)) pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20)) pygame.draw.rect(screen,(0,0,255),(5,100,step % length,20)) pygame.draw.circle(screen,(0,0,255),(step % length,110),10) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0)) screen.blit(text1, (245, 100)) step += 1 clock.tick(60) pygame.display.flip()
(三)運(yùn)行效果
五、第四種進(jìn)度條
(一)加載圖片資源
picture = pygame.transform.scale(pygame.image.load('score/5.png'), (20, 20))
(二)畫進(jìn)度條
pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20)) pygame.draw.rect(screen,(251,174,63),(5,100,step % length,20))
(三)畫圖片資源
screen.blit(picture,(step%length,100))
(四)畫文字
font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0)) screen.blit(text1, (245, 100))
(五)完整代碼
import pygame,sys pygame.init() screen = pygame.display.set_mode((500,300)) pygame.display.set_caption("好看的進(jìn)度條顯示V1.0") clock = pygame.time.Clock() picture = pygame.transform.scale(pygame.image.load('score/5.png'), (20, 20)) step = 0 length = 480 while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == pygame.K_F1: pygame.quit() sys.exit() screen.fill((255,255,255)) # screen.fill((0,0,0)) pygame.draw.rect(screen,(192,192,192),(5,100,length+10,20)) pygame.draw.rect(screen,(251,174,63),(5,100,step % length,20)) screen.blit(picture,(step%length,100)) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0)) screen.blit(text1, (245, 100)) step += 1 clock.tick(60) pygame.display.flip()
(六)運(yùn)行效果
六、綜合案例
(一)完整代碼
import pygame,sys pygame.init() screen = pygame.display.set_mode((500,300)) pygame.display.set_caption("好看的進(jìn)度條顯示V1.0") clock = pygame.time.Clock() picture = pygame.transform.scale(pygame.image.load('score/5.png'), (20, 20)) step = 0 length = 480 while True: for event in pygame.event.get(): if event.type == pygame.QUIT or event.type == pygame.K_F1: pygame.quit() sys.exit() screen.fill((255,255,255)) # screen.fill((0,0,0)) # 第一種 pygame.draw.rect(screen,(192,192,192),(5,100,490,20)) pygame.draw.rect(screen,(0,0,255),(5,100,step % 490,20)) # 第二種 pygame.draw.rect(screen,(192,192,192),(5,150,490,20)) pygame.draw.rect(screen,(0,0,255),(5,150,step % 490,20)) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % 490)/490*100)), True, (255,0,0)) screen.blit(text1, (245, 150)) # 第三種 pygame.draw.rect(screen,(192,192,192),(5,200,length+10,20)) pygame.draw.rect(screen,(0,0,255),(5,200,step % length,20)) pygame.draw.circle(screen,(0,0,255),(step % length,210),10) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0)) screen.blit(text1, (245, 200)) # 第四種 pygame.draw.rect(screen,(192,192,192),(5,250,length+10,20)) pygame.draw.rect(screen,(251,174,63),(5,250,step % length,20)) screen.blit(picture,(step%length,250)) font1 = pygame.font.Font(r'C:\Windows\Fonts\simsun.ttc', 16) text1 = font1.render('%s %%' % str(int((step % length)/length*100)), True, (255,0,0)) screen.blit(text1, (245, 250)) step += 1 clock.tick(60) pygame.display.flip()
(二)運(yùn)行效果
OK,寫完,本博文純屬科普貼,技術(shù)含量不高,入門級(jí)別,大家喜歡就好。
而且里面代碼相對(duì)比較簡(jiǎn)單,也沒有考慮優(yōu)化,大家在實(shí)操過程中可以優(yōu)化完善,并反饋給我一起進(jìn)步。
到此這篇關(guān)于Python趣味挑戰(zhàn)之教你用pygame畫進(jìn)度條的文章就介紹到這了,更多相關(guān)pygame畫進(jìn)度條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python趣味挑戰(zhàn)之pygame實(shí)現(xiàn)無敵好看的百葉窗動(dòng)態(tài)效果
- Python趣味挑戰(zhàn)之用pygame實(shí)現(xiàn)簡(jiǎn)單的金幣旋轉(zhuǎn)效果
- Python3+Pygame實(shí)現(xiàn)射擊游戲完整代碼
- python 基于pygame實(shí)現(xiàn)俄羅斯方塊
- python pygame 憤怒的小鳥游戲示例代碼
- Python3.9.0 a1安裝pygame出錯(cuò)解決全過程(小結(jié))
- python之pygame模塊實(shí)現(xiàn)飛機(jī)大戰(zhàn)完整代碼
- Python使用Pygame繪制時(shí)鐘
- Python3.8安裝Pygame教程步驟詳解
- python pygame入門教程
相關(guān)文章
python如何在一個(gè)py文件中獲取另一個(gè)py文件中的值(一個(gè)或多個(gè))
這篇文章主要介紹了python如何在一個(gè)py文件中獲取另一個(gè)py文件中的值(一個(gè)或多個(gè)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08python中的Json模塊dumps、dump、loads、load函數(shù)用法詳解
這篇文章主要介紹了python中的Json模塊dumps、dump、loads、load函數(shù)用法講解,本文逐一介紹結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2022-11-11python操作ssh實(shí)現(xiàn)服務(wù)器日志下載的方法
這篇文章主要介紹了python操作ssh實(shí)現(xiàn)服務(wù)器日志下載的方法,涉及Python建立ssh連接并下載服務(wù)器日志的相關(guān)技巧,需要的朋友可以參考下2015-06-06使用Django簡(jiǎn)單編寫一個(gè)XSS平臺(tái)的方法步驟
這篇文章主要介紹了使用Django簡(jiǎn)單編寫一個(gè)XSS平臺(tái)的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03python實(shí)現(xiàn)二叉查找樹實(shí)例代碼
這篇文章主要介紹了python實(shí)現(xiàn)二叉查找樹實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02Python?庫(kù)?PySimpleGUI?制作自動(dòng)化辦公小軟件的方法
Python?在運(yùn)維和辦公自動(dòng)化中扮演著重要的角色,PySimpleGUI?是一款很棒的自動(dòng)化輔助模塊,讓你更輕松的實(shí)現(xiàn)日常任務(wù)的自動(dòng)化,下面通過本文給大家介紹下Python?庫(kù)?PySimpleGUI?制作自動(dòng)化辦公小軟件的過程,一起看看吧2021-12-12Python下使用Trackbar實(shí)現(xiàn)繪圖板
這篇文章主要為大家詳細(xì)介紹了Python下使用Trackbar實(shí)現(xiàn)繪圖板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10