You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

游戏脚本开发:如何通过按键随时跳出指定if语句?

解决方案

核心思路是把中断检测直接嵌入到按键序列的执行循环中,不用多进程终止的方式,既能中断当前的操作序列,又能保留外层循环持续运行。

修改后的基础版本代码

import keyboard
import pyautogui
import time

def sequence():
    keys = ["w","a","s","d","w","a","s","d"]
    while True:
        # 等待F1触发按键序列
        if keyboard.is_pressed("f1"):
            print("开始执行按键序列")
            # 遍历按键序列,每一步都检查中断信号
            for key in keys:
                # 检测到Q键按下,立即跳出当前序列循环
                if keyboard.is_pressed('q'):
                    print("中断当前按键序列")
                    # 主动抬起当前按键,避免游戏角色卡住
                    pyautogui.keyUp(key)
                    break
                # 执行单次按键操作
                pyautogui.keyDown(key)
                time.sleep(0.5)
                pyautogui.keyUp(key)
                time.sleep(0.1)
            # 序列执行完毕或中断后,回到外层循环等待下一次F1触发

if __name__ == '__main__':
    sequence()

关键修改点

  • 移除了多进程相关代码,所有逻辑整合到同一函数,避免进程终止导致的外层循环停止
  • 在每个按键操作前加入Q键检测,触发后直接break跳出当前的按键序列循环(即你要中断的目标逻辑)
  • 中断时主动抬起当前按键,防止游戏内角色保持按键状态
  • 外层while True持续运行,中断后可再次按F1触发新序列

更灵敏的事件驱动版本

如果轮询检测按键不够灵敏,可改用事件回调的方式,响应更快:

import keyboard
import pyautogui
import time

# 全局中断标志
interrupt_flag = False

def trigger_interrupt(e):
    global interrupt_flag
    interrupt_flag = True

# 注册Q键按下的回调事件
keyboard.on_press_key('q', trigger_interrupt)

def sequence():
    keys = ["w","a","s","d","w","a","s","d"]
    while True:
        global interrupt_flag
        # 每次触发新序列前重置中断标志
        interrupt_flag = False
        if keyboard.is_pressed("f1"):
            print("开始执行按键序列")
            for key in keys:
                if interrupt_flag:
                    print("中断当前按键序列")
                    pyautogui.keyUp(key)
                    interrupt_flag = False
                    break
                pyautogui.keyDown(key)
                time.sleep(0.5)
                pyautogui.keyUp(key)
                time.sleep(0.1)

if __name__ == '__main__':
    sequence()

内容的提问来源于stack exchange,提问作者Vee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 02:40:15