我想創建一個帶有執行緒的游戲機器人。
當腳本發現游戲螢屏作業 1 次并停止并顯示此訊息“行程已完成,退出代碼為 0”。但是scrpit找不到游戲畫面,確實有效...
我該如何解決這個問題?非常感謝。
class POT(Thread):
global x, y
def __init__(self):
Thread.__init__(self)
self.running = True
def run(self):
while self.running:
try:
x, y = locateCenterOnScreen('menu.PNG')
text = grab().load()[x - 670, y - 730]
text2 = grab().load()[x - 757, y - 730]
if (text[0] < 150):
for z in range(3):
press('0')
sleep(0.05)
release('0')
sleep(0.05)
print('HP USED')
if text2[0] < 150:
for z in range(3):
press('6')
sleep(0.025)
release('6')
sleep(0.025)
press('5')
sleep(0.033)
release('5')
sleep(0.033)
print('INTUITION USED 6')
print('AURA USED 5')
print(x, y)
return x, y
except:
print("GAME SCREEN NOT FOUND...")
bot=POT()
bot.start()
bot.join()
uj5u.com熱心網友回復:
你在做return x, y。
這將打破while self.running回圈,因此執行緒結束,您的程式也隨之結束。
作為旁白:
- 你不需要執行緒,因為你的程式除了這個回圈之外什么都不做。
- 你永遠不應該使用裸
try: except:塊。它也會捕獲SystemExits 和KeyboardInterrupts。- 如果您使用
try: except Exception:而不是try: except:,您會想使用traceback.print_exc()這樣您就知道實際的例外。
- 如果您使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/348446.html
