Python-For-Games


  1. 偵測螢幕 RGB 是否存在
  2. 座標偵測

筆記如何使用 Python 優化遊戲進行體驗的各種 Script。

logo

偵測螢幕 RGB 是否存在

可以用於判斷畫面變化,搭配要執行特定動作,直接使用 pyautogui 進行截圖,但檢查 Pixel Color 透過 numpy 進行處理,以達到最佳效能。

每一次全畫面 (2K, 2560 x 1440) 的檢查,只需要費時約 0.1 秒。

import pyautogui
import numpy as np
import time

def check_color_in_screenshot(r, g, b):
    now = time.time()
    screenshot = pyautogui.screenshot()
    screenshot_np = np.array(screenshot)

    target_pixels = np.where((screenshot_np[:, :, 0] == r) &
                            (screenshot_np[:, :, 1] == g) &
                            (screenshot_np[:, :, 2] == b))

    if target_pixels[0].size > 0:
        print(f'found at {target_pixels[1][0]}, {target_pixels[0][0]}, time: {time.time() - now}')
        return True

    return False

座標偵測

pyautogui.displayMousePosition()
# 動態取得目前游標所在的座標以及 Pixel RGB