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 # код для обновления и отрисовки здесь
Круто придумано, но занимает много кода. Можно делать одним циклом с условиями внутри группами и классами. Можно мне дать ответ на вопрос: "Почему никто не пользуется классами и группами, Ведь это удобнее и компактнее?"
@@симагеймс мне было всегда интересно как сделать так чтобы игрок ходил по карте (карта большая ) и игрок двигался и камера за ним то есть игрок по центру и может передвигаться по карте
А в какой программе ты работаешь?просто я много чего пробовала , ничего почти не получается (.или можешь снять типо тутор как ты работаешь (тип через какие программы и т.д.) не знаю понятно ли я сказала свою мысль но надеюсь ты понял:-)
Это IDLE - стандартный текстовый редактор для Python. Он скачивается вместе с языком. Я использую его только для видео, потому что в нем ничего лишнего, а работаю в основном в PyCharm
Здравствуйте. Можете пожалуйста объяснить как сделать анимацию персонажу в игре. Я над этим работаю очень долго, но никак не получается. Заранее спасибо
Да, по анимации уже висит задачка на съёмку) Если вкратце, то нужно менять кадры изображения. Если картинка целая, то вырезать необходимые части. Должен быть список кадров, из которого мы эти кадры по очереди достаём и задаём текущему
@@симагеймс я просто сделал скролл, но добавлять на эту скролл ленту какие либо элементы, по типу кнопок, текста и тд сложно, ибо приходится находить новые координаты конца этой ленты и давать ей лимиты, а это очень не удобно(
@@симагеймс вот код, если что 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
Я делал меню по твоему видео, у меня есть сама игра. Но не получается переход между сценами: открывается меню, но по "Start" переход в игру не происходит. Поставил для лямбда функции switch_scene(scene2) вместо print() 😢
Привет. Спасибо тебе за видеоуроки, благодаря ним я много чему узнал в 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, как раз с его помощью такое и делается
Картинку можно нарисовать через метод blit у любой поверхности. На окне к примеру, если окно записано в переменную screen - screen.blit(картинка, (позицияХ, позицияУ))
о боже.... и тебя ещё хвалят в коментах. Это же параша не оптимизированная и где ООП стиль???? такие сложные конструкции должны быть структурированы в классах!
Если знаешь как сделать лучше - вперед) Моя задача дать идею и базово объяснить суть, а не утомить рефакторингом. Кому нужно, тот почитает "Чистый код", хотя она тоже относительно устарела
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()
Помогите прошу! Я сделал фигуру, как сделать так что при нажатии на нее у меня открывалось новое окно
Pygame
На python
Спасибо, для игры на pygame пригодиться.
Пишите комменты!!!
Интересно почитать =)
спасибо, очень классный урок)))
Спасибо.Отличный урок!
Спасибо!)
Хорошо объясняешь.
Спасибо)
Спасибо очень помог !
😃
Спасибо было очень полезно!
Отлично))
Круто придумано, но занимает много кода. Можно делать одним циклом с условиями внутри группами и классами. Можно мне дать ответ на вопрос: "Почему никто не пользуется классами и группами, Ведь это удобнее и компактнее?"
На мой взгляд, для видео так быстрее и проще к пониманию. И к тому же объясняет азы, потому что классы являются более сложными структурами
У меня идея: создание меню настроек(расширение экрана, настройка управления и т.д) на pygame.
Для того сцены и существуют
спасибо большое, буду ждать видео с шутером)
как вызывается функция current_scene при условии того что это не функция а переменная?
В переменную можно записать все что хочешь, даже функцию. И попозже её вызвать как любую другую
@@симагеймс ого, спасибо
Не успел запарковать лексус, а уже сел программировать и видео снимать. Ну золото, а не человек!
А я прямо на лексусе
вопрос, можно ли учитывать координаты только от поверхности, а не от всего окна?
я хлопаю вам стоя
Реально помогло?) Спасибо!
Помогите прошу! Я сделал фигуру, как сделать так что при нажатии на нее у меня открывалось новое окно
Pygame
На python
that's cool bro!)
That's great bro! Thanks =)
Да интересно,
Интересно... интересно...
@@симагеймс ты делаешь обзоры только в pygwme ? Как я понимаю
@@симагеймс есть kivy тоже очень интересный в apk
@@симагеймс мне было всегда интересно как сделать так чтобы игрок ходил по карте (карта большая ) и игрок двигался и камера за ним то есть игрок по центру и может передвигаться по карте
@@MrDroks записал себе, сделаю туториал по камере
Зделай видео про то, чтоб ты мог видеть своего персонажа даже когда он за границей окна, типо прокрутки камеры. Пожалуйста
Ну короче говоря камеру?)
@@симагеймс да
как вписать в этот код, тот, который мы писали для меню?
А в какой программе ты работаешь?просто я много чего пробовала , ничего почти не получается (.или можешь снять типо тутор как ты работаешь (тип через какие программы и т.д.) не знаю понятно ли я сказала свою мысль но надеюсь ты понял:-)
Это IDLE - стандартный текстовый редактор для Python. Он скачивается вместе с языком. Я использую его только для видео, потому что в нем ничего лишнего, а работаю в основном в PyCharm
Но насчет видео подумаю, идея хорошая)
@@симагеймс спасибо
Здравствуйте. Можете пожалуйста объяснить как сделать анимацию персонажу в игре. Я над этим работаю очень долго, но никак не получается. Заранее спасибо
Да, по анимации уже висит задачка на съёмку)
Если вкратце, то нужно менять кадры изображения. Если картинка целая, то вырезать необходимые части. Должен быть список кадров, из которого мы эти кадры по очереди достаём и задаём текущему
@@симагеймс Тогда жду видео)
@@game_kartafun1515 Ещё есть модуль Pyganim, специально для анимаций. Можешь погуглить или поискать в RUclips как работать с ним.
@@ccode8194 Спасибо, обязательно посмотрю
сделай видео, как сделать скроллинг(типа как на сайте любом, можно листать вверх и вниз)
Записал, спасибо)
@@симагеймс спасибо
@@симагеймс я просто сделал скролл, но добавлять на эту скролл ленту какие либо элементы, по типу кнопок, текста и тд сложно, ибо приходится находить новые координаты конца этой ленты и давать ей лимиты, а это очень не удобно(
@@симагеймс вот код, если что
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
а, да, еще тут минус в том, что нет скольжения, ну и выглядит без этого не очень
Я делал меню по твоему видео, у меня есть сама игра. Но не получается переход между сценами: открывается меню, но по "Start" переход в игру не происходит. Поставил для лямбда функции switch_scene(scene2) вместо print() 😢
Смог решить проблему?
@@HunteRKros да. Это была учебная практика, я ее еще в прошлом году сдал. Если честно, уже не помню, как решил проблему, но в итоге все работает
Привет. Спасибо тебе за видеоуроки, благодаря ним я много чему узнал в 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, как раз с его помощью такое и делается
Я что делать еслы сцена ето картинка в jpg формате?
Или нужно место цвета написать ("название картины", размерХ, размер У) ?
Картинку можно нарисовать через метод blit у любой поверхности. На окне к примеру, если окно записано в переменную screen - screen.blit(картинка, (позицияХ, позицияУ))
о боже.... и тебя ещё хвалят в коментах. Это же параша не оптимизированная и где ООП стиль???? такие сложные конструкции должны быть структурированы в классах!
Если знаешь как сделать лучше - вперед) Моя задача дать идею и базово объяснить суть, а не утомить рефакторингом. Кому нужно, тот почитает "Чистый код", хотя она тоже относительно устарела
Тебя кто учил плодить однотипный код? Кошмар.
Реализация 💩
Не работает помоги pls
Спасибо, очень помог!❤