コード例 #1
0
 def gameLoop(self, task):
     if defines.GAME_ONGOING == 0:
         return Task.done
     dt = globalClock.getDt()
     update_game_logic(self, dt)
     manage_contacts(dt)
     update_physics(dt)
     update_graphics(self)
     get_contacts_list()
     return Task.cont   
コード例 #2
0
ファイル: testPhysics.py プロジェクト: axelri/fluffy_spheres
    currentEvents = pygame.event.get() # cache current events
    for event in currentEvents:
        if event.type == QUIT or \
            (event.type == KEYDOWN and event.key == K_ESCAPE):
            run = False

    keyState = pygame.key.get_pressed()

    xDir = keyState[K_d] - keyState[K_a]
    yDir = keyState[K_SPACE] - keyState[K_LSHIFT]
    zDir = keyState[K_s] - keyState[K_w]

    direction = vectors.Vector([xDir, yDir, zDir])

    if not direction.is_zero():
        direction = direction.normalize()

    velChange = (player.get_velocity() - lastDirection*speed)\
                .projected(vectors.Vector([1.0, 0.0, 0.0]), vectors.Vector([0.0, 0.0, 1.0]))

    if direction != lastDirection:
        player.add_velocity((direction - lastDirection )* speed - velChange)
        lastDirection = direction


    physics.update_physics(game)
    render.render(game)
    #print 'Pos:', player.get_pos().value

pygame.quit()