我正在嘗試用pyglet編寫一個簡單的遊戲,但使用pygame作爲遊戲手柄輸入。下面的代碼成功打印軸值,但除了導入pyglet在命令行中,實際上並沒有表現出pyglet窗口:在pyglet中使用pygame遊戲杆
import pygame
import math
import sys
import pyglet
pygame.init()
pygame.joystick.init()
js = pygame.joystick.Joystick(0)
js.init()
while True:
pygame.event.get()
jx = js.get_axis(0)
print('axis 0: ' + str(jx))
我不知道什麼樣的角色pygame.event.get()扮演,但沒有它,返回的軸值始終只是零。
所以,現在當我嘗試使用操縱桿在我pyglet事件,我總是隻獲得零值(即使我保持在適當位置的棍子和移動窗口觸發抽獎活動):
import pygame
import math
import sys
import pyglet
pygame.init()
pygame.joystick.init()
js = pygame.joystick.Joystick(0)
js.init()
window = pyglet.window.Window()
@window.event
def on_draw():
jx = js.get_axis(0)
print('axis 0: ' + str(jx))
window.clear()
pyglet.app.run()
如果我折騰了pygame.event.get()到on_draw(),我得到它,我不能沒有控制檯輸出拖動(直到我打ESC一個空白窗口,關閉窗口和退出,在這一點幾個軸值被打印,全部爲零)。 event.get()卡住了嗎?
因此,儘管有什麼建議在https://groups.google.com/forum/?fromgroups=#!msg/psychopy-users/GWNE4RvGbRE/TNRKM1L2PBwJ,使用pygame的操縱桿似乎不僅僅是在導入和初始化更多的參與。
也許,如果我使用pygame中的事件處理它的工作,但是從pygame的,甚至處理與pyglet繪製時可能有其自身的問題。