PyGame меню для игры | Как сделать игровое меню на Python

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

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

  • @bababooey6859
    @bababooey6859 3 года назад +34

    наконец то нашёл видео как сделать меню, спасибо большое 👍

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

      Круто! Рад быть полезным)

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

      а можешь помочь с ошибкой?

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

      draw.rect(self, surf, (0, 100, 0), option_rect)
      NameError: name 'draw' is not defined

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

      @@san_luc147 python не понимает, что такое draw, а это атрибут модуля pygame, поэтому нужно уточнить, написав pygame.draw.rect(self, surf, (0, 100, 0), option_rect)

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

    97% программистов: Темная тема
    Я когда смотрю видео в темной комнате: минус глаза в 3 часа ночи

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

      На самом деле я юзаю тёмную, не знаю как так вышло))

  • @pleasestopme7608
    @pleasestopme7608 3 года назад +5

    Почаще бы видосы, а так лайк авансом, как всегда!

  • @vamaksimovi4
    @vamaksimovi4 Год назад +5

    Здравствуйте, помогите пожалуйста, что нужно записать в функцию для старта игры, допустим когда я нажимаю в меню Play и я перехожу на саму игру. Пожалуйста, если ответишь ты мне принесёшь непоправимую пользу.

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

      Можешь зделать игру и меню в разних файлах а потом к старте привязать import game.

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

    я не понял насчёт с функцией switch, какая у нее задача?

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

    Профессионально щелкаю на камеру

  • @UT0794
    @UT0794 2 года назад +3

    возник вопрос как при нажатии на 1 кнопку сделать так чтобы открывался другой файл?😄
    и возможно ли вообще такое?

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

      import subprocess
      subprocess.call(['C:\Program Files\твоя программа.exe'])

  • @fanpolmaterii
    @fanpolmaterii Год назад +2

    Пишет ошибку в menu.append_option('Quit', quit) 'unicodeescape' Codec can't decode bytes in position 2-3:truncated \UXXXXXXXX escape помогите пожалуйста

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

    # Код в бусти, чекай описание =)

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

    Прикольно!

  • @san_luc147
    @san_luc147 2 года назад +5

    Привет, а можешь сделать тутор на то, что бы одна картинка была на весь экран, и через некоторое время менялась на другую?

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

      таймер поставь

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

      win_width = 750
      win_height = 500
      window = display.set_mode((win_width, win_height))
      display.set_caption("название окна")
      background = image.load('название картинки например 123.png')

  • @rottenguyz8804
    @rottenguyz8804 3 года назад

    Вау, классно! Спасибо!

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

    Как добавить вместо текста нужную мне функцию? Допустим я делаю настройки и мне нужно чтобы я мог менять на экране надписи
    Если я пишу menu.settings() то выводит ошибку

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

      Вместо этого костыля используй модуль pygame-menu

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

    спасибо, помог

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

    у меня вот такая ошибка: File "C:\Users\User\Desktop\Petruha-Boycooha\main.py", line 118, in
    menu.draw(menu_bg, 100, 100, 75)
    File "C:\Users\User\Desktop\Petruha-Boycooha\main.py", line 85, in draw
    draw.rect(surf, (163, 10, 10), option_rect)
    NameError: name 'draw' is not defined
    что делать?

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

      Говорит что у меню нет такой функции draw, проверь все ли правильно

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

      @@симагеймс пpосто он юзает походу 3.9 а ты более стаpую 3.7 или ещё какуето.А чтоб pешить напиши: pygame.draw.rect(surf, (162,10, 10), option_rect).В стpоке 85

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

    огромное спасибо тебе

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

    все время жалуется на \папка\ line 3, in
    pygame.init()
    AttributeError: module 'pygame' has no attribute 'init' и Parameter 'draw' unfilled
    что делать, помогите

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

      Привет! Возможно ты уже решил проблему, но, мне кажется у тебя модуль pygame не установлен

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

    C:\Users
    olov\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/nolov/PycharmProjects/pythonProject/main.py
    Traceback (most recent call last):
    File "C:\Users
    olov\PycharmProjects\pythonProject\main.py", line 1, in
    from pygame import *
    ModuleNotFoundError: No module named 'pygame'
    Привет подскажи что делать?

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

      Ругается на то, что не установлен модуль pygame. В PyCharm можно просто навести на ошибку и предложит скачать модуль, либо скачать его с официального сайта

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

    У меня не работает функция draw, можешь помочь?
    line 31, in draw
    draw.rect(surf, (0, 100, 0), option_rect)
    NameError: name 'draw' is not defined

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

      pygame.draw скорее всего

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

      @@симагеймс точно нет, это в моменте с созданием функции draw

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

      if i == self._current_option_index:
      draw.rect(self, surf, (0, 100, 0), option_rect)

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

      @@san_luc147 напиши pygame.draw.rect(self, surf, (0, 100, 0), option_rect)

  • @chanGoodini
    @chanGoodini 3 года назад +2

    А я вообще не понимаю ООП вроде смотрица просто а на деле даже не знаешь как это использовать как реализовать то что мне надо хотя я считаю что это крутая штука

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

      Это только первое время. На самом деле цель ООП упростить понимание программирования человеком. Мы уже думаем в этом направлении, потому что нас окружают объекты (дом, кот, машина). У объектов есть параметры и функции, а ООП позволяет всю эту логику быстро спроектировать в виде класса

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

    Module Menu has no atribute append.option

  • @star_legend2921
    @star_legend2921 3 года назад +2

    A как вместо чёрного фона сделать картинку ?

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

      Привет! Загрузи картинку и отрисуй ее на весь экран: screen.blit(картинка, (0, 0, ширина_экрана, высота_экрана))

    • @star_legend2921
      @star_legend2921 3 года назад +1

      @@симагеймс привет,спасибо что так быстро ответил!!! А можешь ещё подсказать вот у меня есть меню и есть игра. Как сделать что бы когда я нажал на старт у меня запускалась игра !

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

      @@star_legend2921 если меню из туториала и у тебя есть какая-то функция начала игры (start_game), то можно menu.append_option('Начать', start_game). Или menu.append_option('Начать', lambda: start_game(какие-то параметры))

    • @star_legend2921
      @star_legend2921 3 года назад +1

      @@симагеймс спасибо ты лучший !!!

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

      @@star_legend2921 Спасибо)

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

    все точно так же, но не отображается

  • @Noname-yk7ce
    @Noname-yk7ce 2 года назад

    а нельзя было ту строку очень длинную с max и min на abs(self._current_option_index + direction) % 6 ?

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

      Привет! Можно было. Я как раз ломал голову как можно грамотно это сделать) Я пытался сделать как ты, но была проблема с отрицательными числами - совсем забыл про abs. Молодец!

  • @ВикторЗадротов
    @ВикторЗадротов 2 года назад +1

    Бро перейди на другую тему.Не знаю как другим мне эта режет глаза.Я тебе могу посоветовать в пайчарме топ плагин с темами.И красиво и удобно.
    Ролик зачетный!Недавно изучал пайгейм сделал игрульку, конечно с механиками долго копался, хоть они простые.Твои видео очень помогут новичкам ведь многим трудно понять азы.Мне пришлось смотреть зарубежного ютубера "картошку", но на его основах смог придумать интересные механи ки для своего платформера.Работай в том же духе.У тебя выходит круто.
    Попробуй сделать еще ролик про меню с использованием мыши.Тобишь выбор элементов интерфейса курсором.Я думаю будет прикольно.Думаю это будет простой и интересной темой для твоей аудитории.
    Еще раз круто делаешь)))😃😃😎

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

      Спасибо) Я уже поменял на темную тему, не помню зачем светлая была нужна

    • @ВикторЗадротов
      @ВикторЗадротов 2 года назад

      @@симагеймс ОО ты сразу ответил))
      это правильно, мало людей любят светлую тему во время кодинга. Да и многие уже давно пользуются исключительно темной во всем.У меня вот есть вопрос.Ты(если ты против, что я на ты сори) помимо Питона работаешь с другими яп?И работаешь с движками(не уверен, что pygame является движком)?И на pygame возможно заработать?Просто я не видел на фрилансе и тд заказов на нем, как по мне эта либа просто для изучения понятий многих.Кто то даже делает на нем 3д игры(камикадзе, хотя если иметь нужные знания все возможно)
      Контент опять же крутой выходит.Думаю еще некоторое время(маленькое) и выйдешь на 500к просмотров и более

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

      @@ВикторЗадротов На pygame делают сносные инди игры и в стиме продают. На самом деле заработать в этом плане можно на чем угодно, хоть на scratch, главное чтобы проект был интересным. А так я еще на Unity игры делаю, но для канала Unity довольно громоздкий и сложный на мой взгляд. Ну и еще туториалов по этому движку достаточно много

    • @ВикторЗадротов
      @ВикторЗадротов 2 года назад

      @@симагеймс ну понял)Тоже верно насчет заработка.Но опять же это нужно раскрутить)Кстати думаю по юнити тоже было бы круто, если бы вы запилили плейлист уроков. Тк много уроков в ютубе на инглише(интересных и понятных), а не все знают его))Спасибо, что ответили хорошего вам дня

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

    а как подключить проект к кнопке?

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

    Как сделать меню на pgzero?

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

      Привет, да в целом также. Это универсальный код

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

      @@симагеймс Спасибо за ответ

  • @Ranorf
    @Ranorf 5 месяцев назад

    11:08

  • @ghost_gh_off
    @ghost_gh_off 5 месяцев назад

    Все намного легче

  • @Ranorf
    @Ranorf 5 месяцев назад

    11.08

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

    Оставь исходный код пжжжж