我想知道是否有一種方法,在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