嗨,我很抱歉我用词不当。我想这是我能解释的最好的了
所以这里不是解释,而是一个GIF来告诉你我的问题是什么。 注意:我只在项目中间设置了点击
以下是触发点击的代码:
INVEN
是一个包含56个单独值的列表。但我编程的方法是,两个值成对出现。意思,INVEN[0] = X Coords
和INVEN[1] = Y Coords
for i in range(len(INVEN) - 1):
keyboard.press(Key.shift)
Click("clear_inven", (INVEN[i], INVEN[i + 1]))
keyboard.release(Key.shift)
以下是Click
代码:
def Click(pos, xy):
i = 0
while i <= 3:
if pos.upper() == "CUT_TREE":
pyautogui.click(xy[0], xy[1])
elif pos.upper() == "COMPASS":
pyautogui.click(xy[0], xy[1])
elif pos.upper() == "CLEAR_INVEN":
pyautogui.click(xy[0], xy[1])
i += 1
非常感谢你的阅读!我非常感谢您的帮助:)
问题是:
(INVEN[i], INVEN[i + 1])
,您的INVEN
没有正确递增:你可以看到这很快就失控了。你知道吗
相反,您希望执行以下操作:
所以
i
每次(step=2)
增加2。你知道吗但是很少建议您执行
range(len(INVEN))
,因为您可以轻松地在没有范围的对象之间循环:另外,如果将
x, y
设置为元组,可能会更好:以便更容易成对地回忆:
另外,您可能还希望在
Click()
函数中使用for
循环,而不是while
:虽然我不知道为什么你会想通过相同的输入循环三次。。。你知道吗
相关问题 更多 >
编程相关推荐