嗨,我的if语句在pygame中只执行一次,然后在执行之后它们就不再工作了。。。以下是我的一些菜单代码(简单的按键):
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
import game
if event.key == pygame.K_i:
import Instructions
if event.key == pygame.K_c:
import controls
下面是我的一些主要游戏代码(再次按键):
^{pr2}$好吧,现在假设我在菜单中按空格键启动(它工作得很好),它会转到游戏模块然后开始游戏,如果我手动打开游戏模块(不是按空格键),按escape键,不过,如果我按空格键,然后按escape键返回菜单,它也能正常工作,所以只有当我直接打开游戏模块时,它才会工作。同时,工作按键只工作一次,而且只工作一次,所以如果我从菜单中按空格键,然后退出,然后再按空格键,它只会停留在菜单上,那么我该如何使这些“如果”循环无限大呢
我认为您混淆了
import
语句的目的。一个import
被设计成“加载”一个python脚本。你不应该用它来运行另一个python文件中的所有代码。在例如,假设你游戏.py文件如下所示:
那么,你的主.py文件如下所示:
^{pr2}$当你跑的时候主.py,第一个
import
发生。这将导致game
模块被加载。这意味着运行game.py
脚本,并且其中定义的所有变量/函数/etc都在game
模块中定义。在想想你是如何使用pygame的。您使用了
import pygame
行。这里的目标不是“运行”pygame脚本,而是让自己能够访问pygame
模块中的内容。在您要做的是在游戏.py文件:
要使打印多次发生,可以从中调用
run()
函数主.py多次。。。在这将导致您在
game.py
文件(也称为game
模块)的run()
函数中定义的代码多次运行。在相关问题 更多 >
编程相关推荐