def userInput(camera, display):
deltaT = display.deltaT
#keyboard down presses
pressed = pygame.key.get_pressed()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key ==pygame.K_ESCAPE:
pygame.quit()
quit()
if event.type == pygame.MOUSEMOTION:
x, y = event.rel
event.pos = (display.w/2,display.h/2)
#look around
if( abs(x)>1 ):
camera.turnRight( -x*deltaT)
if( abs(y)>1 ):
camera.turnUp( -y*deltaT)
#capture mouse
pygame.mouse.set_pos(display.w/2., display.w/2)
pygame.event.get(pygame.MOUSEMOTION) #steal the new mouse event and do nothing with it to reset it
#print()
#print(camera.posWorld.getString())
#print(camera.view())
#back forth
if pressed[pygame.K_w]:
camera.forward(deltaT)
if pressed[pygame.K_s]:
camera.forward(-deltaT)
#up, down
if pressed[pygame.K_SPACE]:
camera.upward(-deltaT)
if pressed[pygame.K_LSHIFT]:
camera.upward(deltaT)
#left right
if pressed[pygame.K_a]:
camera.sideward(deltaT)
if pressed[pygame.K_d]:
camera.sideward(-deltaT)
#change openGL polygon mode
if pressed[pygame.K_1]:
glPolygonMode(GL_FRONT_AND_BACK, GL_POINT)
if pressed[pygame.K_2]:
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)
if pressed[pygame.K_3]:
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL)
#start the main
评论列表
文章目录