这是我的代码,我希望它按照我定义的值执行我告诉它的操作" grind()"。我定义了我想要使用的值,但我不确定如何告诉它这样做。基本上我想要我的程序: mousePos((625,15)),time.sleep(0.1),leftclick(),mousePos((630,85)),time.sleep(0.5),leftClick(),time.sleep(.1)当我运行它
import ImageGrab
import os
import time
import win32api, win32con
import ImageOps
from numpy import *
# Globals
# ------------------
x_pad = 1
y_pad = 65
def screenGrab():
b1 = (x_pad+1, y_pad+1, x_pad+1238, y_pad+704)
im = ImageGrab.grab()
##im.save(os.getcwd() + '\\Snap__' + str(int(time.time())) +'.png', 'PNG')
return im
def leftClick():
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
time.sleep(.1)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
print "Click."
def leftDown():
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0)
time.sleep(.5)
print 'left Down'
def leftUp():
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0)
time.sleep(.5)
print 'left release'
def mousePos(cord):
win32api.SetCursorPos((x_pad + cord[0], y_pad + cord[1]))
def get_cords():
x,y = win32api.GetCursorPos()
x = x - x_pad
y = y - y_pad
print x,y
class Cord:
f_spiritpt = (133, 292)
f_hp = (133, 210)
def grind():
s = screenGrab()
if ((s.getpixel(cord.f_spiritpt) == (165, 0, 0)) == (s.getpixel(cord.f_hp) == (0, 148, 21))):
mousePos((625, 15))
time.sleep(0.1)
leftclick()
mousePos((630, 85))
time.sleep(0.5)
leftClick()
time.sleep(.1)
else:
mousePos((255, 15))
time.sleep(60)
leftclick()
def main():
pass
if __name__ == '__main__':
main()
答案 0 :(得分:0)
你的if语句需要and
:
if s.getpixel(cord.f_spiritpt) == (165, 0, 0) and s.getpixel(cord.f_hp) == (0, 148, 21)
In [29]: foo = 4
In [30]: bar = 5
In [31]: if foo == 4 == bar == 5:
print foo
....:
In [32]: if foo == 4 and bar == 5:
print foo
....:
4