Пример #1
0

def jump_through_collision_handler(space, arbiter):
    # pass through only if going up
    return arbiter.shapes[0].body.velocity.y < 0


def bullet_collision_handler(space, arbiter):
    arbiter.shapes[0].body.player.health -= 1
    arbiter.shapes[1].body.bullet.destroy()
    return True


SPACE.gravity = (0, -1000)  # in px/sec^2
SPACE.add_collision_handler(
    PLAYER_COLLISION_TYPE, JUMP_THROUGH_COLLISION_TYPE,
    begin=jump_through_collision_handler)
SPACE.add_collision_handler(
    PLAYER_COLLISION_TYPE, BULLET_COLLISION_TYPE,
    begin=bullet_collision_handler)


def calculate_input(old_pressed_keys):
    # Manage all events
    for event in pygame.event.get():
        pressed_window_x = event.type == KEYS.QUIT
        pressed_esc = (event.type == KEYS.KEYDOWN and
                       event.key in [KEYS.K_ESCAPE])
        if pressed_window_x or pressed_esc:
            sys.exit()
    pressed = pygame.key.get_pressed()