
- Pygame 教程
- Pygame - 首頁
- Pygame - 概述
- Pygame - Hello World
- Pygame - 顯示模式
- Pygame - Locals 模組
- Pygame - 顏色物件
- Pygame - 事件物件
- Pygame - 鍵盤事件
- Pygame - 滑鼠事件
- Pygame - 繪製形狀
- Pygame - 載入影像
- Pygame - 在視窗中顯示文字
- Pygame - 移動影像
- Pygame - 使用數字鍵盤移動
- Pygame - 使用滑鼠移動
- Pygame - 移動矩形物件
- Pygame - 使用文字作為按鈕
- Pygame - 轉換影像
- Pygame - 音訊物件
- Pygame - 混音器通道
- Pygame - 播放音樂
- Pygame - 播放影片
- Pygame - 使用攝像頭模組
- Pygame - 載入游標
- Pygame - 訪問 CDROM
- Pygame - Sprite 模組
- Pygame - PyOpenGL
- Pygame - 錯誤和異常
- Pygame 有用資源
- Pygame - 快速指南
- Pygame - 有用資源
- Pygame - 討論
Pygame - 滑鼠事件
Pygame 識別三種滑鼠事件,分別是 MOUSEMOTION、MOUSEBUTTONUP 和 MOUSEBUTTONDOWN。相應的事件物件返回滑鼠按下/釋放時位置的座標和按鈕編號。
例如,MOUSEBUTTONDOWN 事件物件將顯示以下結果:
<Event(1025-MouseButtonDown {'pos': (398, 328), 'button': 1, 'window': None})>
示例
要獲取按鈕按下位置的座標,我們可以使用與事件物件關聯的 get_pos() 函式。
import pygame, sys pygame.init() screen = pygame.display.set_mode((640, 480)) pygame.display.set_caption("Hello World") while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: pos=pygame.mouse.get_pos() btn=pygame.mouse print ("x = {}, y = {}".format(pos[0], pos[1]))
輸出
執行以上程式碼,並在遊戲視窗的隨機位置按下滑鼠按鈕。
x = 192, y = 160 x = 419, y = 245 x = 204, y = 405 x = 449, y = 17 x = 12, y = 15
MOUSEMOTION 事件物件捕獲移動滑鼠位置的瞬時位置。
if event.type == pygame.MOUSEMOTION: pos=event.pos print ("x = {}, y = {}".format(pos[0], pos[1]))
pygame.mouse 模組中其他重要的函式和屬性如下:
pygame.key.get_pressed | 獲取滑鼠按鈕的狀態 |
pygame.mouse.get_pos | 獲取滑鼠游標位置 |
pygame.mouse.get_rel | 獲取滑鼠移動量 |
pygame.mouse.set_pos | 設定滑鼠游標位置 |
pygame.mouse.set_visible | 隱藏或顯示滑鼠游標 |
pygame.mouse.get_visible | 獲取滑鼠游標的當前可見性狀態 |
pygame.mouse.get_focused | 檢查顯示器是否正在接收滑鼠輸入 |
pygame.mouse.set_cursor | 設定滑鼠游標的影像 |
pygame.mouse.set_system_cursor | 將滑鼠游標設定為系統變體 |
Pygame 定義以下系統游標:
pygame.SYSTEM_CURSOR_ARROW | 箭頭 |
pygame.SYSTEM_CURSOR_IBEAM | I 形游標 |
pygame.SYSTEM_CURSOR_WAIT | 等待 |
pygame.SYSTEM_CURSOR_CROSSHAIR | 十字準星 |
pygame.SYSTEM_CURSOR_SIZENWSE | 指向西北和東南的雙箭頭 |
pygame.SYSTEM_CURSOR_SIZENESW | 指向東北和西南的雙箭頭 |
pygame.SYSTEM_CURSOR_SIZEWE | 指向西和東的雙箭頭 |
pygame.SYSTEM_CURSOR_SIZENS | 指向北和南的雙箭頭 |
pygame.SYSTEM_CURSOR_SIZEALL | 四角箭頭 |
pygame.SYSTEM_CURSOR_NO | 斜線圓圈或骷髏標誌 |
pygame.SYSTEM_CURSOR_HAND | 手形 |
以下語句將遊戲視窗游標設定為十字準星。
pygame.mouse.set_system_cursor(pygame.SYSTEM_CURSOR_CROSSHAIR)
廣告