===游戲中的事件===
1.鼠標(biāo)相關(guān)的事件
??MOUSEBUTTONDOWN - 鼠標(biāo)按下
??MOUSEBUTTONUP - 鼠標(biāo)彈起
??MOUSEMOTION - 鼠標(biāo)移動
??鼠標(biāo)事件要關(guān)注事件發(fā)生的位置: event.pos - 鼠標(biāo)的坐標(biāo),元祖
# ===============鼠標(biāo)事件==================
elif event.type == pygame.MOUSEBUTTONDOWN:
# 鼠標(biāo)按下要做什么,就將代碼寫這個(gè)if語句中
print('鼠標(biāo)按下', event.pos)
# pygame.draw.circle(window, Color.random_color(), event.pos, randint(10, 20))
# pygame.display.update()
is_move = True
elif event.type == pygame.MOUSEBUTTONUP:
# 鼠標(biāo)彈起要做什么,就將代碼寫這個(gè)if語句中
print('鼠標(biāo)彈起')
is_move = False
elif event.type == pygame.MOUSEMOTION:
# 鼠標(biāo)移動要做什么, 就將代碼寫這個(gè)if語句中
if is_move:
pygame.draw.circle(window, Color.random_color(), event.pos, 20)
pygame.display.update()
print('鼠標(biāo)移動')
2.鍵盤事件
??KEYDOWN - 鍵盤按下
??KEYUP - 鍵盤彈起
??鍵盤事件要關(guān)注哪個(gè)鍵被按了:event.key - 按鍵對應(yīng)的字符的編碼, 數(shù)字
# ================鍵盤事件=================
if event.type == pygame.KEYDOWN:
print('按鍵被按下')
print(event.key, chr(event.key))
elif event.type == pygame.KEYUP:
print('按鍵彈起!')
===子線程對象===
??默認(rèn)情況下,一個(gè)進(jìn)程有且只有一個(gè)線程,這個(gè)線程叫主線程
??threading模塊中的Thread類就是線程類,這個(gè)類的對象就是線程對象,一個(gè)線程對象對應(yīng)一個(gè)子線程。
??(需要一個(gè)子線程就創(chuàng)建一個(gè)Thread類的對象)
Thread(target,args) - 創(chuàng)建子線程對象
??說明:
??target - Function,需要傳一個(gè)函數(shù)(這個(gè)函數(shù)中的內(nèi)容會在子線程中執(zhí)行)
??args - 元祖,target對應(yīng)的函數(shù)的參數(shù)
??當(dāng)通過創(chuàng)建好的子線程對象調(diào)用start方法的時(shí)候,會自動在子線程中調(diào)用target對應(yīng)的函數(shù), 并且將args中值作為實(shí)參
# python多線程技術(shù)對應(yīng)的模塊
import threading
# 創(chuàng)建線程對象
t1 = threading.Thread(target=download, args=('槍王之王.mp4',))
t2 = threading.Thread(target=download, args=('開國大典.mp4',))
t3 = threading.Thread(target=download, args=('黃金國.mp4',))
# 開始執(zhí)行t1對應(yīng)的子線程中的任務(wù)(實(shí)質(zhì)就是在子線程中調(diào)用target對應(yīng)的函數(shù))
t1.start()
t2.start()
t3.start()
2.Thread子類
??可以通過寫一個(gè)類繼承Thread類,來創(chuàng)建屬于自己的線程類。
??1.聲明類繼承Thread
??2.重寫run方法。這個(gè)方法中的任務(wù)就是需要在子線程中執(zhí)行的任務(wù)
??3.需要線程對象的時(shí)候,創(chuàng)建當(dāng)前聲明的類的對象;然后通過start方法在子線程中去執(zhí)行run方法中的任務(wù)