iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0
自我挑戰組

學習用Pygame製作小專案系列 第 8

Day8 今天一般來說最常用的滑鼠操作總算進來了

  • 分享至 

  • xImage
  •  

今天呢嘗試製作了一個按鈕功能,我的這程式總算能用滑鼠操作了,明明這是最常用的操作方式吧!無論如何要做到知道是否被滑鼠點擊要做到兩件事:
1.偵測滑鼠是不是按下了。
2.偵測滑鼠是不是在指著要按的東西。
首先第一點,因為也是偵測是否按了下去,也是要用pygame.event.get()或是pygame.event.wait()來偵測,一樣以我的狀況我是用wait()的。
再來在是否指著上,要偵測是否鼠標有在指定範圍內,只能說pygame真方便,對於碰撞這件事有很方便處理的程式:
rect.collidepoint(posison) 和 rect.colliderect(rect2) 可以直接判斷是否有碰撞,第一個是偵測posison這個位置座標(posision大約長這樣:(50,50))是否在rect這個矩形裡,第二個是偵測兩個矩形有沒有任何地方有重疊到這樣。
這裡補一下關於矩形的事,矩形用rect=pygame.rect(0,0,50,50)建立,四個參數前兩個事左上角的位置,後兩個則是長寬。矩形可以用來用在前面偵測碰撞,也可以用在畫矩形的程式裡:pygame.draw.rect(screen,(256,256,256),rect)來畫(screen是我的視窗,(256,256,256)則是顏色),這些加起來,再加上文字,然後用while running的迴圈包起來,我的鼠標按鈕就完成了,似乎有機會寫成函式,之後研究看看。
今天的進度是這樣。


上一篇
Day7 昨天的問題找到更好的解決方式了,還有寫了個空白鍵的函式
下一篇
Day9 嘗試寫按鈕函式失敗
系列文
學習用Pygame製作小專案13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言