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

如何在Python中实现文本速度系统?代码报错求助

问题解决:Processing键盘回调函数参数错误

错误原因

你碰到的TypeError是因为Processing库的keyPressed是系统自动调用的回调函数,调用时不会传递任何参数,但你给函数定义了XVel参数,导致参数数量不匹配。另外你修改XVel时没在函数内声明全局变量,实际修改的是局部变量,根本不会改变全局的XVel值。

修正代码

from processing import *

Speed = 2
XVel = 0

def keyPressed():
    global XVel
    print(keyboard.key)
    
    if keyboard.key == "a":
        XVel -= Speed
    elif keyboard.key == "d":
        XVel += Speed

run()

核心修改说明

  • 删掉keyPressed函数的参数,符合Processing回调函数的定义规范
  • 在函数内用global XVel声明要操作的是全局变量,不然修改的只是局部变量
  • 简化速度计算的写法,让代码更易读
  • run()不需要传参,Processing的启动函数不需要这个参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:27:22