Как мне сделать спрайт "прыжок" в простой игре, похожей на Марио? - PullRequest
0 голосов
/ 01 апреля 2012

Что было бы лучшим способом вызвать скачок spriteimg.Я хочу, чтобы спрайт скользил вверх, а затем назад, когда нажата K_UP.Каков наилучший подход к этому?

while running:
    setup_background()
    spriteimg = plumberright

    screen.blit(spriteimg,(x1, y1))
    keys = pygame.key.get_pressed()
    for event in pygame.event.get():
         if event.type == pygame.QUIT:
             running = False

    if keys[pygame.K_UP]:
              y1 -= 2
    elif keys[pygame.K_RIGHT]:
              x1 += 2
    elif keys[pygame.K_LEFT]:
               x1 -= 2


    pygame.display.flip()
    clock.tick(120)

Ответы [ 2 ]

4 голосов
/ 01 апреля 2012

Я предлагаю вам смоделировать движение вашего персонажа как вектор скорости. Клавиши ускоряются в определенном направлении. Гравитация и трение (и столкновения) приводят игрока к остановке.

Я нашел это здесь (это не Python, но идеи те же), может быть, это поможет: http://www.rodedev.com/tutorials/gamephysics/

1 голос
/ 01 апреля 2012

Моя группа рассказала об этом во время нашего урока на PyCon в этом году:

http://pyvideo.org/video/615/introduction-to-game-development

Вы захотите начать в 31:00, если не хотите, чтобы я рассказывал о игровом дизайне:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...