PyGame cцены | Как добавить СЦЕНЫ в игру

Поделиться
HTML-код
  • Опубликовано: 26 ноя 2024

Комментарии • 70

  • @симагеймс
    @симагеймс  2 года назад +7

    import pygame # импорт библиотеки PyGame
    pygame.init() # инициализируем PyGame
    WIDTH = 800 # ширина экрана
    HEIGHT = 600 # высота экрана
    screen = pygame.display.set_mode((WIDTH, HEIGHT)) # создаем поверхность экрана
    running = True
    while running:
    for e in pygame.event.get(): # перебираем события
    if e.type == pygame.QUIT: # если тип события выход из игры, то
    running = False
    # код для обновления и отрисовки здесь

    pygame.display.flip() # обновляем экран
    pygame.quit()

    • @tortphonk
      @tortphonk Год назад

      Помогите прошу! Я сделал фигуру, как сделать так что при нажатии на нее у меня открывалось новое окно
      Pygame
      На python

  • @ccode8194
    @ccode8194 2 года назад +2

    Спасибо, для игры на pygame пригодиться.

  • @симагеймс
    @симагеймс  2 года назад

    Пишите комменты!!!
    Интересно почитать =)

  • @СнежныйБарс-л2й
    @СнежныйБарс-л2й 2 года назад +1

    спасибо, очень классный урок)))

  • @jazbrawl92
    @jazbrawl92 2 года назад +1

    Спасибо.Отличный урок!

  • @ibelalex7185
    @ibelalex7185 2 года назад +1

    Хорошо объясняешь.

  • @deik8722
    @deik8722 Год назад

    Спасибо очень помог !
    😃

  • @Империяфикусов
    @Империяфикусов 2 года назад +1

    Спасибо было очень полезно!

  • @ВасилийДергачев-т2ш

    Круто придумано, но занимает много кода. Можно делать одним циклом с условиями внутри группами и классами. Можно мне дать ответ на вопрос: "Почему никто не пользуется классами и группами, Ведь это удобнее и компактнее?"

    • @симагеймс
      @симагеймс  Год назад

      На мой взгляд, для видео так быстрее и проще к пониманию. И к тому же объясняет азы, потому что классы являются более сложными структурами

  • @ТатьянаЧернышева-щ8ч

    У меня идея: создание меню настроек(расширение экрана, настройка управления и т.д) на pygame.

  • @R6847Gu
    @R6847Gu 2 года назад +1

    спасибо большое, буду ждать видео с шутером)

  • @poniking8486
    @poniking8486 Год назад +1

    как вызывается функция current_scene при условии того что это не функция а переменная?

    • @симагеймс
      @симагеймс  Год назад

      В переменную можно записать все что хочешь, даже функцию. И попозже её вызвать как любую другую

    • @poniking8486
      @poniking8486 Год назад

      @@симагеймс ого, спасибо

  • @nerdError0XF
    @nerdError0XF 2 года назад

    Не успел запарковать лексус, а уже сел программировать и видео снимать. Ну золото, а не человек!

  • @owix6758
    @owix6758 8 месяцев назад

    вопрос, можно ли учитывать координаты только от поверхности, а не от всего окна?

  • @UTIIG
    @UTIIG 2 года назад +1

    я хлопаю вам стоя

  • @tortphonk
    @tortphonk Год назад

    Помогите прошу! Я сделал фигуру, как сделать так что при нажатии на нее у меня открывалось новое окно
    Pygame
    На python

  • @justsain2087
    @justsain2087 2 года назад

    that's cool bro!)

  • @MrDroks
    @MrDroks 2 года назад

    Да интересно,

    • @симагеймс
      @симагеймс  2 года назад +1

      Интересно... интересно...

    • @MrDroks
      @MrDroks 2 года назад

      @@симагеймс ты делаешь обзоры только в pygwme ? Как я понимаю

    • @MrDroks
      @MrDroks 2 года назад

      @@симагеймс есть kivy тоже очень интересный в apk

    • @MrDroks
      @MrDroks 2 года назад

      @@симагеймс мне было всегда интересно как сделать так чтобы игрок ходил по карте (карта большая ) и игрок двигался и камера за ним то есть игрок по центру и может передвигаться по карте

    • @симагеймс
      @симагеймс  2 года назад +1

      @@MrDroks записал себе, сделаю туториал по камере

  • @пизданафт
    @пизданафт 2 года назад +1

    Зделай видео про то, чтоб ты мог видеть своего персонажа даже когда он за границей окна, типо прокрутки камеры. Пожалуйста

  • @nevazhnno
    @nevazhnno 8 месяцев назад

    как вписать в этот код, тот, который мы писали для меню?

  • @каченя-щ2д
    @каченя-щ2д 2 года назад

    А в какой программе ты работаешь?просто я много чего пробовала , ничего почти не получается (.или можешь снять типо тутор как ты работаешь (тип через какие программы и т.д.) не знаю понятно ли я сказала свою мысль но надеюсь ты понял:-)

    • @симагеймс
      @симагеймс  2 года назад

      Это IDLE - стандартный текстовый редактор для Python. Он скачивается вместе с языком. Я использую его только для видео, потому что в нем ничего лишнего, а работаю в основном в PyCharm

    • @симагеймс
      @симагеймс  2 года назад

      Но насчет видео подумаю, идея хорошая)

    • @каченя-щ2д
      @каченя-щ2д 2 года назад

      @@симагеймс спасибо

  • @game_kartafun1515
    @game_kartafun1515 2 года назад +2

    Здравствуйте. Можете пожалуйста объяснить как сделать анимацию персонажу в игре. Я над этим работаю очень долго, но никак не получается. Заранее спасибо

    • @симагеймс
      @симагеймс  2 года назад +1

      Да, по анимации уже висит задачка на съёмку)
      Если вкратце, то нужно менять кадры изображения. Если картинка целая, то вырезать необходимые части. Должен быть список кадров, из которого мы эти кадры по очереди достаём и задаём текущему

    • @game_kartafun1515
      @game_kartafun1515 2 года назад

      @@симагеймс Тогда жду видео)

    • @ccode8194
      @ccode8194 2 года назад +1

      @@game_kartafun1515 Ещё есть модуль Pyganim, специально для анимаций. Можешь погуглить или поискать в RUclips как работать с ним.

    • @game_kartafun1515
      @game_kartafun1515 2 года назад

      @@ccode8194 Спасибо, обязательно посмотрю

  • @daniilempresso5528
    @daniilempresso5528 2 года назад +1

    сделай видео, как сделать скроллинг(типа как на сайте любом, можно листать вверх и вниз)

    • @симагеймс
      @симагеймс  2 года назад +1

      Записал, спасибо)

    • @daniilempresso5528
      @daniilempresso5528 2 года назад

      @@симагеймс спасибо

    • @daniilempresso5528
      @daniilempresso5528 2 года назад

      @@симагеймс я просто сделал скролл, но добавлять на эту скролл ленту какие либо элементы, по типу кнопок, текста и тд сложно, ибо приходится находить новые координаты конца этой ленты и давать ей лимиты, а это очень не удобно(

    • @daniilempresso5528
      @daniilempresso5528 2 года назад

      @@симагеймс вот код, если что
      import pygame as pg
      pg.init()
      f = pg.font.SysFont("dancingscript", 50)
      w, h = 720, 1600
      sc = pg.display.set_mode((w, h))
      bgColor = "black"
      clock, fps = pg.time.Clock(), 60
      y = 0
      clicked = False
      yDown = y + h - 140
      clicks = 0
      colorTap = "red"
      while 1:
      tapT = f.render("Tap!", 1, colorTap)
      tapR = tapT.get_rect(center = (w / 2, y + h / 2 * 2.2))
      px, py = pg.mouse.get_pos()[0], pg.mouse.get_pos()[1]
      for ev in pg.event.get():
      if tapR.x

    • @daniilempresso5528
      @daniilempresso5528 2 года назад

      а, да, еще тут минус в том, что нет скольжения, ну и выглядит без этого не очень

  • @hiften4659
    @hiften4659 Год назад

    Я делал меню по твоему видео, у меня есть сама игра. Но не получается переход между сценами: открывается меню, но по "Start" переход в игру не происходит. Поставил для лямбда функции switch_scene(scene2) вместо print() 😢

    • @HunteRKros
      @HunteRKros Месяц назад

      Смог решить проблему?

    • @hiften4659
      @hiften4659 Месяц назад

      @@HunteRKros да. Это была учебная практика, я ее еще в прошлом году сдал. Если честно, уже не помню, как решил проблему, но в итоге все работает

  • @ДамирСайфуллин-я6к

    Привет. Спасибо тебе за видеоуроки, благодаря ним я много чему узнал в pygame. Но с функцией switch_scene у меня возникла проблема. А все дело в том, что я каждую сцену делал в отдельном модуле (файле .py). И возникла такая ситуация, что когда я из сцены меню я перехожу в сцену настроек, а затем наоборот, возникаем ошибка цикличного импорта. Это проблему я решил следующим образом (код приложу ниже): в запускаемом модуле main создал словарь с функциями сцен и внутри этих функций, когда надо сменить сцену, возвращаю название следующей сцены (return "scene_menu"). Если надо выйти из игры, то возвращаю return None. Буду рад, если это кому-то поможет.
    А вот и отрывок главного модуля main, где все это реализовано:
    import pygame
    from scene_init import scene_init
    from scene_menu import scene_menu
    from scene_bj import scene_bj
    from scene_settings import scene_settings
    pygame.init() # запуск pygame
    SCENES = {"scene_init": scene_init,
    "scene_menu": scene_menu,
    "scene_bj": scene_bj,
    "scene_settings": scene_settings}
    next_scene = "scene_init" # начальная сцена
    while next_scene is not None:
    next_scene = SCENES[next_scene]()

    • @симагеймс
      @симагеймс  Год назад

      О, хорошее решение) Меня первое время бесил цикличный импорт в Python, потому что в других языках с этим проблем не возникало в силу технических особенностей языков. А так действительно можно создать менеджер сцен, который будет знать о всех игровых сценах и уже через него делать переходы. Есть еще паттерн FiniteStateMachine, как раз с его помощью такое и делается

  • @Pastor-1
    @Pastor-1 Год назад

    Я что делать еслы сцена ето картинка в jpg формате?

    • @Pastor-1
      @Pastor-1 Год назад

      Или нужно место цвета написать ("название картины", размерХ, размер У) ?

    • @симагеймс
      @симагеймс  Год назад

      Картинку можно нарисовать через метод blit у любой поверхности. На окне к примеру, если окно записано в переменную screen - screen.blit(картинка, (позицияХ, позицияУ))

  • @skrupidonn
    @skrupidonn 3 месяца назад

    о боже.... и тебя ещё хвалят в коментах. Это же параша не оптимизированная и где ООП стиль???? такие сложные конструкции должны быть структурированы в классах!

    • @симагеймс
      @симагеймс  2 месяца назад

      Если знаешь как сделать лучше - вперед) Моя задача дать идею и базово объяснить суть, а не утомить рефакторингом. Кому нужно, тот почитает "Чистый код", хотя она тоже относительно устарела

  • @ЕвгенияМамонова-к7в
    @ЕвгенияМамонова-к7в 3 месяца назад

    Тебя кто учил плодить однотипный код? Кошмар.

  • @xores26
    @xores26 9 месяцев назад

    Реализация 💩

  • @huntlex8489
    @huntlex8489 Год назад

    Не работает помоги pls

  • @fey_karmen
    @fey_karmen 11 месяцев назад

    Спасибо, очень помог!❤