我想知道是否有一种方法,在Python中,虽然我的games.screen.mainloop()中的图形块正在运行,如果我可以执行某些操作,例如通过控制台的raw_input()获取用户输入。有没有办法在运行pygame时,我也可以运行控制台?
4
A
回答
0
事情是这样的,如果你做了类似raw_input
的东西,它会停止程序,直到输入输入,这样将停止程序每个循环输入,但你可以做的事情,如print
,但他们会打印每个循环
如果你想利用投入使用InputBox Module这将使一个小的输入框弹出在环路
屏幕这就是,如果你想从你可以尝试线程在控制台做到这一点,其即时通讯不熟悉但你可以检查出来Multi-threading Tutorial
这里是一个问题,这可能会帮助你
祝您好运! :)
4
是的,看看下面的例子:
import pygame
import threading
import Queue
pygame.init()
screen = pygame.display.set_mode((300, 300))
quit_game = False
commands = Queue.Queue()
pos = 10, 10
m = {'w': (0, -10),
'a': (-10, 0),
's': (0, 10),
'd': (10, 0)}
class Input(threading.Thread):
def run(self):
while not quit_game:
command = raw_input()
commands.put(command)
i = Input()
i.start()
old_pos = []
while not quit_game:
try:
command = commands.get(False)
except Queue.Empty:
command = None
if command in m:
old_pos.append(pos)
pos = map(sum, zip(pos, m[command]))
if pygame.event.get(pygame.QUIT):
print "press enter to exit"
quit_game = True
pygame.event.poll()
screen.fill((0, 0, 0))
for p in old_pos:
pygame.draw.circle(screen, (50, 0, 0), p, 10, 2)
pygame.draw.circle(screen, (200, 0, 0), pos, 10, 2)
pygame.display.flip()
i.join()
它创建了一个小红圈。你可以用左右进入一个,小号或d移动它瓦特,到控制台。
相关问题
- 1. 有没有办法在运行时更改控制台图标
- 2. 有没有办法强制类在运行时加载
- 3. 有什么办法可以在后台运行进程?
- 4. 没有运行控制器
- 5. 我可以在Chrome控制台中运行角度法吗?
- 6. 有没有办法运行在后台模式瓶应用
- 7. 没有运行时可以在Mobilefirst
- 8. 有没有办法在运行时设置网格行高?
- 9. 运行函数时在控制台中没有输出显示
- 10. 在eclipse中运行Erlang线程时控制台没有输出
- 11. 有没有办法运行NPM安装
- 12. 有没有办法脱机运行Trac?
- 13. 有没有办法从其他组件控制可运行线程?
- 14. 有没有办法钩住“控制器”发电机,所以它运行“rspec_controller”?
- 15. 有没有办法从powershell脚本运行可执行文件?
- 16. 有没有办法从服务中运行可执行文件?
- 17. 可执行jar文件没有响应,也没有运行
- 18. 有没有办法控制pytest-xdist如何并行运行测试?
- 19. 有没有办法在运行可执行文件时进入调试器?
- 20. 当运行/ q参数时,VB .NET运行时没有窗体,也没有UAC
- 21. 有没有办法强制控制台应用程序以特定的窗口大小运行(使用Pdcurses)?
- 22. IBM Worklight 6.2 WAS ND 8.5.5中没有运行时控制台
- 23. Sinch不能在后台运行没有办法(Android)
- 24. 无法在没有控制的情况下运行交互式控制台TTY
- 25. 有没有办法在每次启动cmd时运行vcvars32.bat?
- 26. 有没有办法在运行时获取Bundle ID?
- 27. 有没有办法在运行时获取DefaultProperty元数据?
- 28. 有没有办法在运行时更改android主题?
- 29. 有没有办法在运行时访问调试符号?
- 30. ,有没有办法在运行时确定类的成员?
你的意思是不停止循环? – Serial
如果您使用的是Linux,请在行末 – Dan
处运行带有&符号(&)的命令,而不停止games.screen.mainloop() – emufossum13