Python运行有时正常有时无响应,pgzrun定义draw函数运行无报错无输出问题
问题原因及解决方法
异常原因
- 仅包含
draw函数的代码段:你只完成了回调函数的定义,没有导入pgzrun模块、也没有启动Pygame Zero的运行时。screen是Pygame Zero的内置对象,只有运行时启动后才会被初始化,且draw函数也只有运行时启动后才会被自动调用,单独运行这段代码只是声明了一个从未被调用的函数,自然没有任何执行效果。 - 加了
pgzrun导入但无响应的代码段:问题出在最后一行的pgzrun.go,这里你只引用了go函数对象,没有加括号执行该函数,Pygame Zero的运行时根本没有启动,自然不会弹出窗口、也不会执行绘制逻辑。代码语法完全合法所以不会报错,但没有实际执行业务逻辑。
解决方法
将代码修改为以下内容即可正常运行:
import pgzrun def draw(): screen.draw.text("hello", topleft=(10, 10)) # 加括号执行go函数,启动运行时 pgzrun.go()
修改后运行会自动弹出窗口,窗口左上角会显示你绘制的"hello"文本。
内容的提问来源于stack exchange,提问作者Ham
相关产品推荐
相关产品推荐

