我正在尝试为一款游戏制作一个程序,该程序将像“检查器”一样在后台运行。 我的想法是,它会不断地截取屏幕截图,如果我在游戏中死亡,我选择的屏幕上坐标处的某个像素将变成某种颜色,程序应该识别该颜色,然后在我死时运行不同的命令。
while u > v:
myScreenshot = pyautogui.screenshot()
myScreenshot.save(DIRECTORY)
image = Image.open(DIRECTORY)
picture = image.load()
print(picture[1302, 341])
n = n+1
v += 1
我也尝试过这个:
import time
from PIL import ImageGrab
from PIL import Image
a = 10
b = 1
time.sleep(2)
while a > b:
screenshot = ImageGrab.grab()
x_coord = 1302
y_coord = 341
color_at_coord = str(screenshot.getpixel((x_coord, y_coord)))
print(color_at_coord)
b +=1
if color_at_coord == "(254, 252, 0)":
print("Correct!")
但是,两者都没有真正起作用,我可以让程序截图,但由于某种原因,当我在游戏中死亡时,程序注意到颜色发生变化(它打印的颜色代码与我活着时不同)但它不打印它应该给出的该坐标的颜色代码。 (254, 252, 0)
我的理论是,它从错误的东西中获取颜色,就像我不认为它是对我的游戏进行屏幕截图,而是屏幕上的其他东西一样,我认为 Visual Studio Code 因为它不断返回我的游戏应该返回的灰色代码不显示。
我真的很困惑,任何想法将不胜感激。 :)
import time
from PIL import ImageGrab
from PIL import Image
a = 10
b = 1
time.sleep(2)
while a > b:
screenshot = ImageGrab.grab()
c = screenshot.load()
x_coord = 1302
y_coord = 341
color_at_coord = str(c[x_coord, y_coord])
print(color_at_coord)
b +=1
if color_at_coord == "(254, 252, 0, 255)":
print("Correct!")