python實(shí)現(xiàn)月食效果實(shí)例代碼
我們?cè)趯W(xué)習(xí)Python當(dāng)中的pygame模塊時(shí),我們都知道我們可以通過(guò)使用 pygame模塊實(shí)現(xiàn)很多功能性的東西,但是很多人應(yīng)該不知道怎么通過(guò)使用pygame實(shí)現(xiàn)月食的效果吧,接下來(lái)我就教大家如何利用pygame模塊實(shí)現(xiàn)月食的效果吧,總代碼量都用不到40行代碼就可以實(shí)現(xiàn)哦,希望對(duì)你們有所幫助
第一步:先打開(kāi)我們的pycharm軟件,然后新建一個(gè)Python文件
第二步:新建好我們的文件之后,我們?cè)诰庉嫿缑孑斎胍韵麓a:
import pygame import sys #導(dǎo)入模塊 #設(shè)置窗體圖形界面 screen=pygame.display.set_mode((700,500)) #設(shè)置窗體的屏幕寬高,screen變量接收屏幕 pygame.display.set_caption("吳秀柔 16級(jí)計(jì)科2班") #設(shè)置窗體的標(biāo)題 #月亮 moonImage='image/moon.png' #定位圖片 moon=pygame.image.load(moonImage) #加載圖片 #地球陰影 earthshadowImage='image/blackMoon.png' #定位圖片 earthshadow=pygame.image.load(earthshadowImage) #加載圖片 #覆蓋軌跡的背景 backgroundImage='image/blackBG.png' #定位圖片 background=pygame.image.load(backgroundImage) #加載圖片 x=450 #初始化位置,以X軸為移動(dòng)方向 #繪制圖片在窗體上 while True: screen.blit(background,(0,0)) #用來(lái)覆蓋地球走的路徑 screen.blit(moon,(100,100)) #月亮所在的位置 screen.blit(earthshadow,(x,100)) #地球陰影運(yùn)行的初始位置 if x<=0: #地球陰影移動(dòng)的動(dòng)作 x+=1 else: x-=1 #消息事件循環(huán),判斷退出 for event in pygame.event.get(): # 獲得一個(gè)事件的列表 if event.type == pygame.QUIT: #如果事件類(lèi)型,退出 sys.exit() #安全退出 pygame.display.update() #刷新畫(huà)面
第三步:編寫(xiě)好我們的代碼之后,我們點(diǎn)擊鼠標(biāo)右鍵或者同事按住Ctrl+shift+F10進(jìn)行代碼的運(yùn)行編譯
第四步:這時(shí)候我們就可以看到效果了,由于這里我的月食遮罩是以X軸為運(yùn)動(dòng)方向移動(dòng),進(jìn)行月食效果的,所以它的月食軌跡是緩慢運(yùn)行的
第五步:在這次代碼中,我們共用到了三張圖片,一個(gè)是全黑色的遮罩,注意這個(gè)遮罩的大小要與我們的窗體屏幕大小一致或者更大,這樣才能夠完全遮住,而且在這里使用的圖片都是透明背景的圖片
第六步:很多人都不太清楚自己在制作圖片時(shí),為什么總是不是透明圖層,注意:在對(duì)圖片處理時(shí),之后后綴為.png的圖片才具有透明效果,如果本來(lái)你在處理時(shí)時(shí)透明背景,結(jié)果保存到使用時(shí)卻不是透明圖層,這可能是你保存的格式不對(duì),注意檢查一下
第七步:以上就是我實(shí)現(xiàn)的月食效果,每一行都進(jìn)行了注釋?zhuān)M麑?duì)你們有所幫助。這次是實(shí)現(xiàn)的月食效果總代碼量都用不到40行,可以說(shuō)是非常少了*_*,大家沒(méi)事可以自己操作試試看,有不足之處大家多多見(jiàn)諒啦
相關(guān)文章
詳解Python3操作Mongodb簡(jiǎn)明易懂教程
本篇文章主要介紹了詳解Python3操作Mongodb簡(jiǎn)明易懂教程,詳細(xì)的介紹了如何連接數(shù)據(jù)庫(kù)和對(duì)數(shù)據(jù)庫(kù)的操作,有需要的可以了解一下。2017-05-05Python用戶(hù)推薦系統(tǒng)曼哈頓算法實(shí)現(xiàn)完整代碼
這篇文章主要介紹了Python用戶(hù)推薦系統(tǒng)曼哈頓算法實(shí)現(xiàn)完整代碼,簡(jiǎn)單介紹了曼哈頓距離的定義,然后分享了其Python實(shí)現(xiàn)代碼,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12tensorflow實(shí)現(xiàn)對(duì)圖片的讀取的示例代碼
本篇文章主要介紹了tensorflow實(shí)現(xiàn)對(duì)圖片的讀取的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02對(duì)Pycharm創(chuàng)建py文件時(shí)自定義頭部模板的方法詳解
今天小編就為大家分享一篇對(duì)Pycharm創(chuàng)建py文件時(shí)自定義頭部模板的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Python實(shí)現(xiàn)操作Redis的高級(jí)用法分享
redis-py是Python操作Redis的第三方庫(kù),它提供了與Redis服務(wù)器交互的API,本文為大家介紹了Python利用redis-py操作Redis的高級(jí)用法,需要的可以收藏一下2023-05-05Python3.2中的字符串函數(shù)學(xué)習(xí)總結(jié)
這篇文章主要介紹了Python3.2中的字符串函數(shù)學(xué)習(xí)總結(jié),本文講解了格式化類(lèi)方法、查找 & 替換類(lèi)方法、拆分 & 組合類(lèi)方法等內(nèi)容,需要的朋友可以參考下2015-04-04