С каждым уроком (хотя есть и исключения) кол-во просмотров и лайков падает (кроме видео со спрайтами и изображениями, но их видимо смотрели не по плейлисту, а натыкались на них по конкретному запросу в поиске). Мне кажется люди просто сдаются, перестают дальше смотреть и вникать. Может быть все хотят создать какую-то свою игру, и полные энтузиазма, воодушевления и уверенности в собственных силах, идут смотреть видео. Но сталкиваясь со сложностями, они отступают и забивают. я 3 раза начинал делать игру по гайду одного автора, и каждый раз натыкался на одну и ту же ошибку. Бросал и переделывал сначала, пока не понял, что косяк не у меня, а у автора видео (я не про этого автора), Потом наткнулся в книге на точно такой же урок, который автор видел слизал подчистую, даже порядок рефакторинга кода =) И по книге получилось, а того автора я больше не смотрю. Но всё равно остаётся много пробелов, поэтому нужно смотреть всё по теме, чтобы собрать картинку по крупицам в общее понимание. Этот автор очень хорошо объясняет. Конечно, тоже есть какие-то моменты, которые мне - тупице - нужно было разжевать, чтобы я понял, а почему вот именно так, а почему не вот так, но всё равно эти уроки лучшие из тех, что я видел, потому что есть углубление в тему, а не поверхностное проскальзывание, как например когда вышеупомянутый автор, сплагиативший подчистую урок с кораблём из книги (и не упоминавший откуда он черпал своё "вдохновение), просто говорит: делайте это так и объясняет это отрывками из книги. И в итоге ни черта не понятно. Потому что сам плагиатщик не понял что происходит и тупо повторил какую-то строчку. Автор же данного канала понимает, что делает и как что работает, и доносит это до зрителей. Спасибо Хотя, конечно, иногда удивляет, почему автор пишут конструкцию, типа: screen_width // 2, для позиционирования элементов, хотя можно было сделать так: screen_rect = screen.get_rect() rect.centerx = screen_rect.centerx и разместить объект по цетру координаты х, относительно центра самого объекта Или разместить объект по центру экрана: screen_rect = screen.get_rect() rect.center = screen_rect.center но это мелочи. Может быть автор учил пайгейм старой версии, когда этих атрибутов у rect ещё не было
Здравствуйте, спасибо вам за ваш труд! Пишу строго за вами, исключение - это размешение картинок(находяться в другой подпапке). Столкнулся с такой проблемой на 3:26. (решил) Программа не дает создать экземпляр класса и ругаеться на add. якобы ей передаеться инт а не итерабл. Pygame 2.0.2 Python 3.9. Ума не приложу, почему так. self.add(*group) TypeError: pygame.sprite.Sprite.add() argument after * must be an iterable, not int update: произошла опечатка при инициализации =) __inti__ вместо __init__ на реддите у кого то одно подчеркивание было, это и навело на мысль. Еще раз спасибо!!!
Вопрос. Пытаюсь указать параметры картинок в методе инит: self.image = pygame.image.load(filename).convert() self.image.set_colorkey((0, 0, 0)) self.image = pygame.transform.scale(self.image, (70, 70)) Но ничего не меняется. Меняю параметры в главном окне, после создания ЭК, все работает для примера: ball2 = bl.Ball(W//2+150, speed+1, 'path') ball2.image = pygame.transform.scale(ball2.image, (70, 70)) ball2.image.set_colorkey((0, 0, 0)) Почему так?
Как у Вас это получается!!! Лично мне это не особо нужно, но тем не менее смотрю от начала и до конца, а потом еще и сам все это повторяю, чтобы немного поиграться))) Очень интересно, просто и доходчиво объясняете. Вопрос немного не в тему вашего курса: А под Андройд или IOS на Pygame можно написать игру?
Спасибо! Приходится понятно излагать, иначе студенты не поймут )) А по поводу андроида, да можно. Для этого есть библиотека kivy, но лично я с ней не знаком. Думаю, не сложно разобраться.
Спасибо за хороший материал! Подскажите пожалуйста про генерацию событий типа USEREVENT. Я стал модифицировать программу из этого курса и мне захотелось создать еще один таймер такой же по смыслу как и тот, что используется для генерации шариков. Если я пишу тот же текст второй раз pygame.time.set_timer(pygame.USEREVENT, 600), то программа, естественно, просто переопределяет первый счетчик, и шары начинают сыпаться чаще. Как мне создать еще один уникальный таймер? Второй вечер копаюсь в документации pygame, никак не могу понять про эти EVENTы.
Вот, только написал вопрос, и почти сразу разобрался. событие pygame.USEREVENT возвращает числовой код 32847. И для создания второго уникального события для нового таймера нужно просто написать: pygame.time.set_timer(pygame.USEREVENT + 1, 600), и его код станет 32848. Можно таким образом насоздавать событий USEREVENT с кодами от 32847 до 65535.
На самом деле автор даёт сложный код, новичку будет очень сложно понять. Его можно упростить, причем очень сильно, в классе уменьшить количество переменных, я так вообще выполнил третье задание не используя в классе болл никаких переменных кроме self
Traceback (most recent call last): File "C:\pythonProject1\PyGame9.py", line 32, in createBall(balls) File "C:\pythonProject1\PyGame9.py", line 20, in createBall indx = randint(0, len(balls_surf) - 1) NameError: name 'randint' is not defined Здравствуйте. Сделал все как в видео, даже картинки на всякий случай так же назвал, а то совсем запутался) до этого момента быстро шел а тут прям ни в какую, застрял
у меня пишет что я написал 4 оргумента хоти их 3 Traceback (most recent call last): File "D:\first game ball\main.py", line 18, in b1=Ball(500, speed, "D:/ball_bear.png") TypeError: __init__() takes 3 positional arguments but 4 were given
Наконец то нашел нормального учителя! Спасибо, за подробнее объяснение
Какой раз пересматриваю это видео, все равно до конца не вкуриваю всю суть спрайтов. Объясняешь хорошо!
Кажется, мне стало понятно, как анимировать падающие символы в матрице
привет Нео!
Просто огромное человеческое спасибо!!!1!!
С каждым уроком (хотя есть и исключения) кол-во просмотров и лайков падает (кроме видео со спрайтами и изображениями, но их видимо смотрели не по плейлисту, а натыкались на них по конкретному запросу в поиске). Мне кажется люди просто сдаются, перестают дальше смотреть и вникать. Может быть все хотят создать какую-то свою игру, и полные энтузиазма, воодушевления и уверенности в собственных силах, идут смотреть видео. Но сталкиваясь со сложностями, они отступают и забивают.
я 3 раза начинал делать игру по гайду одного автора, и каждый раз натыкался на одну и ту же ошибку. Бросал и переделывал сначала, пока не понял, что косяк не у меня, а у автора видео (я не про этого автора), Потом наткнулся в книге на точно такой же урок, который автор видел слизал подчистую, даже порядок рефакторинга кода =)
И по книге получилось, а того автора я больше не смотрю.
Но всё равно остаётся много пробелов, поэтому нужно смотреть всё по теме, чтобы собрать картинку по крупицам в общее понимание. Этот автор очень хорошо объясняет. Конечно, тоже есть какие-то моменты, которые мне - тупице - нужно было разжевать, чтобы я понял, а почему вот именно так, а почему не вот так, но всё равно эти уроки лучшие из тех, что я видел, потому что есть углубление в тему, а не поверхностное проскальзывание, как например когда вышеупомянутый автор, сплагиативший подчистую урок с кораблём из книги (и не упоминавший откуда он черпал своё "вдохновение), просто говорит: делайте это так и объясняет это отрывками из книги. И в итоге ни черта не понятно. Потому что сам плагиатщик не понял что происходит и тупо повторил какую-то строчку.
Автор же данного канала понимает, что делает и как что работает, и доносит это до зрителей. Спасибо
Хотя, конечно, иногда удивляет, почему автор пишут конструкцию, типа: screen_width // 2, для позиционирования элементов, хотя можно было сделать так:
screen_rect = screen.get_rect()
rect.centerx = screen_rect.centerx
и разместить объект по цетру координаты х, относительно центра самого объекта
Или разместить объект по центру экрана:
screen_rect = screen.get_rect()
rect.center = screen_rect.center
но это мелочи. Может быть автор учил пайгейм старой версии, когда этих атрибутов у rect ещё не было
Спасибо за занятие)
А зачем вы помещали всю отрисовку в группы, а не сделали просто функцию через def?
Здравствуйте, спасибо вам за ваш труд! Пишу строго за вами, исключение - это размешение картинок(находяться в другой подпапке).
Столкнулся с такой проблемой на 3:26. (решил)
Программа не дает создать экземпляр класса и ругаеться на add. якобы ей передаеться инт а не итерабл. Pygame 2.0.2 Python 3.9.
Ума не приложу, почему так.
self.add(*group)
TypeError: pygame.sprite.Sprite.add() argument after * must be an iterable, not int
update:
произошла опечатка при инициализации =)
__inti__ вместо __init__
на реддите у кого то одно подчеркивание было, это и навело на мысль.
Еще раз спасибо!!!
Вопрос.
Пытаюсь указать параметры картинок в методе инит:
self.image = pygame.image.load(filename).convert()
self.image.set_colorkey((0, 0, 0))
self.image = pygame.transform.scale(self.image, (70, 70))
Но ничего не меняется.
Меняю параметры в главном окне, после создания ЭК, все работает
для примера:
ball2 = bl.Ball(W//2+150, speed+1, 'path')
ball2.image = pygame.transform.scale(ball2.image, (70, 70))
ball2.image.set_colorkey((0, 0, 0))
Почему так?
Как у Вас это получается!!!
Лично мне это не особо нужно, но тем не менее смотрю от начала и до конца, а потом еще и сам все это повторяю, чтобы немного поиграться))) Очень интересно, просто и доходчиво объясняете.
Вопрос немного не в тему вашего курса: А под Андройд или IOS на Pygame можно написать игру?
Спасибо! Приходится понятно излагать, иначе студенты не поймут )) А по поводу андроида, да можно. Для этого есть библиотека kivy, но лично я с ней не знаком. Думаю, не сложно разобраться.
@@selfedu_rusответьте пожалуйста
А могу я обратиться к конкретному спрайту из группы?
Может я хочу прописать ему координаты уже после того, как отрисовал его?
Друг, вопрос на секунду.
Будут уроки по Git?
Как сделать обработчик нажатия спрайта?
Здравствуйте, уважаемый автор! Спасибо Вам за Ваш Труд! Вы астрофизикой не увлекаетесь?
Спасибо! Вот чем, чем, но этим не увлекаюсь. Точнее профессионально, только на уровне популярных передач ))
Спасибо за хороший материал!
Подскажите пожалуйста про генерацию событий типа USEREVENT.
Я стал модифицировать программу из этого курса и мне захотелось создать еще один таймер такой же по смыслу как и тот, что используется для генерации шариков. Если я пишу тот же текст второй раз pygame.time.set_timer(pygame.USEREVENT, 600), то программа, естественно, просто переопределяет первый счетчик, и шары начинают сыпаться чаще. Как мне создать еще один уникальный таймер? Второй вечер копаюсь в документации pygame, никак не могу понять про эти EVENTы.
Вот, только написал вопрос, и почти сразу разобрался. событие pygame.USEREVENT возвращает числовой код 32847. И для создания второго уникального события для нового таймера нужно просто написать: pygame.time.set_timer(pygame.USEREVENT + 1, 600), и его код станет 32848. Можно таким образом насоздавать событий USEREVENT с кодами от 32847 до 65535.
спасибо
круто!!! спасибо!!!!+++++++++
Добрый день. Подскажите, существуют ли стандартные функции для вращения спрайта в плоскости surface ?
Модуль pygame.transform (см. предыдущее занятие)
Здравствуйте. А что с сайтом он не открывается ?
Уже все работает - были проблемы у хостера
Что делает метод path и как обойтись без него
что делать если создается очень много м,чей сразу
remove(balls) =)
Это в 1 классе проходят ученики???
На самом деле автор даёт сложный код, новичку будет очень сложно понять. Его можно упростить, причем очень сильно, в классе уменьшить количество переменных, я так вообще выполнил третье задание не используя в классе болл никаких переменных кроме self
В целом - всё отлично, НО - дико бесит ваш копи-паст!!!
Пишите код! Не копипастите!
Traceback (most recent call last):
File "C:\pythonProject1\PyGame9.py", line 32, in
createBall(balls)
File "C:\pythonProject1\PyGame9.py", line 20, in createBall
indx = randint(0, len(balls_surf) - 1)
NameError: name 'randint' is not defined
Здравствуйте. Сделал все как в видео, даже картинки на всякий случай так же назвал, а то совсем запутался) до этого момента быстро шел а тут прям ни в какую, застрял
Может просто забыл "import random" ?
from random import randint
у меня пишет что я написал 4 оргумента хоти их 3
Traceback (most recent call last):
File "D:\first game ball\main.py", line 18, in
b1=Ball(500, speed, "D:/ball_bear.png")
TypeError: __init__() takes 3 positional arguments but 4 were given
наобоpот ты написал 3 а надо 4