Загрузка...

Help with PyGame

Thread in Python created by koody_inactive2903838 Mar 27, 2020. 215 views

  1. koody_inactive2903838
    koody_inactive2903838 Topic starter Mar 27, 2020 23 Jan 6, 2020
    Персонаж не прыгает по нажатию на пробел!! Помогите пожалуйста)

    Code
    import pygame

    # Инициализация игры
    pygame.init()

    # Дисплей игры
    display_width = 800
    display_height = 600
    display = pygame.display.set_mode((display_width, display_height))

    # Персонаж
    user_width = 60
    user_height = 100
    usr_x = display_width // 3
    usr_y = display_height - user_height - 100

    # Анимациа прыжка
    make_jump = False

    # Имя игры
    pygame.display.set_caption('Armenian Dino')

    # Иконка игры
    icon = pygame.image.load('dino-icon.png')
    pygame.display.set_icon(icon)


    # Цикл игры
    def run_game():
    global make_jump
    game = True

    while game:
    for event in pygame.event.get():
    if event.type == pygame.QUIT:
    pygame.quit()
    quit()
    keys = pygame.key.get_pressed()
    if keys[pygame.K_SPACE]:
    make_jump = True
    if make_jump:
    jump()


    # Обновление цикла игры
    clock = pygame.time.Clock()

    # Цвет дисплея
    display.fill((255, 255, 255))
    # Рисование персонажа
    pygame.draw.rect(display, (247, 240, 22), (usr_x, usr_y, user_width, user_height))
    pygame.display.update()
    clock.tick(60)


    # Функция jump()
    def jump():
    global usr_y, jump_counter, make_jump
    if jump_counter >= -30:
    usr_y -= jump_counter
    jump_counter -= 1
    else:
    jump_counter = 30
    make_jump = False


    # Счетчик прыжков
    jump_counter = 30

    run_game()
     
  2. Tmpvar
    Tmpvar Mar 27, 2020 сосу оила 27 Jul 29, 2019
    koody_inactive2903838, Если у тебя изначально имеется булево значение False (make_jump = False), то зачем ты в функции (def jump) используешь тоже самое? Надо поменять саму функцию прыжка
     
  3. Kyber_Zero
    Kyber_Zero Mar 30, 2020 Dead Inside 5 Jan 21, 2018
    Не код, а помойка. Либо пиши все под одну функцию либо исползуй их по-минимуму иначе ничего не понятно что\где\за что отвечает.
    The post was merged to previous Mar 30, 2020
    + у тебя игра не идет ибо нет апдейта в цикле игры, возможно в этом проблема
     
    1. koody_inactive2903838 Topic starter
      Kyber_Zero, Братик ну не надо же так на чела гнать который при том новичок в этом деле. Ну и за ответ спасибо!
    2. Kyber_Zero
      koody_inactive2903838, Я понимаю что новичек и тд, но код реально тяжело разобрать)
    3. koody_inactive2903838 Topic starter
      Kyber_Zero, Так может скажешь как надо все писать чтобы было приятно для глаз?
Loading...
Top