Тёмный
No video :(

Игра на Pygame с нуля / Урок #6 - Враги в игре 

Школа itProger / Программирование
Просмотров 44 тыс.
50% 1

В нашей игре будут враги, что будут появляться через определенные промежутки времени. При столкновении с ними игра будет заканчиваться. За урок вы создадите врагов и добавите отслеживание между игроком и врагами.
✅ Полезные ссылки:
- Урок на сайте itProger: itproger.com/c...
⏰ Тайм-коды:
00:00 - Начало
00:21 - Добавление врага
02:50 - Конвертация изображений
04:50 - Отслеживание соприкосновений
09:40 - Таймер для появления монстров
13:05 - Вывод всех монстров на экран
17:30 - Заключительная часть
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Инстаграм itProger: / itproger_official
Группа FaceBook - goo.gl/XW0aaP
Instagram: / gosha_dudar
Telegram: t.me/itProger_o...
Twitter - / goshadudar
- Уроки от #itProger 👨🏼‍💻
- Все уроки по хештегу #itprogerLessons

Опубликовано:

 

14 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 100   
@mcblack2010
@mcblack2010 3 месяца назад
По-моему монстров, ушедших за экран надо удалять из списка, а то они ведь там реально невидимые плывут налево)
@dsaxspb4431
@dsaxspb4431 4 месяца назад
Спасибо!! Супер урок! Очень интересно и доступно!
@Legevoda
@Legevoda Год назад
то что нужно для новичков в питоне, очень хорошо обьяснили
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
@user-gh2nr3jm5c
@user-gh2nr3jm5c Год назад
keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and player_x > 5: player_x -= player_speed elif keys[pygame.K_RIGHT] and player_x
@mr.vladis
@mr.vladis Год назад
Круто, шикардос
@Lekar1996
@Lekar1996 Год назад
5 лет не прошло 😄
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
@ogarchikstrimer
@ogarchikstrimer Год назад
А где он создавал переменную el и el_x, а то я пропустил
@andriikozakmlt
@andriikozakmlt 11 месяцев назад
Кстати да, я тож
@-XrAY-spirit
@-XrAY-spirit 3 месяца назад
потому что переменная el должна находится в цикле for , тоесть детектор коллизия из за которой возможно возникает ошибка тоже должна находится в цикле , сохраняйте табуляцию
@dazis6091
@dazis6091 Год назад
Почему когда я написал всё точь в точь но у меня этот крвадрат врага очень большой именно в левую сторону и на верх а в правую вроде бы нормально При чём так же со всеми объектами которые я создаю. У них этот Rect намного больше в левую сторону и в верх а во все остальные стороны норм я хз чо делать
@denisminer7965
@denisminer7965 Год назад
Возможно у твоих объектов присутствует прозрачная часть, по которой и строится квадрат. Проверь это зайдя в картинку или вместо convert_alpha() пропиши просто .convert(), тогда скрытая часть картинки проявится
@metrokop228
@metrokop228 11 месяцев назад
Кому нужно изменить размер призрака: ghost = pygame.transform.scale(ghost, (размер в пикселях))
@kaaarasik0_0
@kaaarasik0_0 9 месяцев назад
Чел, ты самый лучший в мире
@mimasroblox228
@mimasroblox228 7 месяцев назад
бля, чел, спасибо огромное
@user-gx6jp4ip9o
@user-gx6jp4ip9o 7 месяцев назад
спасибо
@yamakawasan
@yamakawasan 6 месяцев назад
Чел, лучший
@molotpocketcoder
@molotpocketcoder 4 месяца назад
Спасибо!
@alastor2204
@alastor2204 4 месяца назад
у меня все время идет соприкосновение хитбоксов
@flexyyyapk
@flexyyyapk Год назад
что делать если у меня игрок при нажатии клавиши → идёт куда то вниз и немного вперёд
@Eroma_Light
@Eroma_Light Год назад
Люди если у вас ошибка то вы что то не так написали. Поэтому посмотите код внимательно!
@user-ms3qs7gz6r
@user-ms3qs7gz6r 9 месяцев назад
народ если у вас пишет ошибка что не читается ghost_list_in_game вам нужно перед началом цикла прописать ghost_list_in_game = [ ] пример: # Инициализация списка призраков ghost_list_in_game = [ ] running = True while running: # Остальной код...
@PVNZB
@PVNZB Месяц назад
спасибо огромное за урок и я хочу у вас спросить помощь я хочу сделать спавн монстра рандомно а не по заданному времени и так же чтоб он спавнился в рандомно месте по игреку например он появился по середине а потом слева потом справа от центра и так рандомно
@09midorya09
@09midorya09 10 месяцев назад
а как мне сделать анимацию для призрака срочно надо пж ответь
@user-ex4eq6rs9u
@user-ex4eq6rs9u Год назад
Вопрос?! Почему не сделали анимацию противникам. Подскажите пожалуйста как сделать.
@Xrisz_
@Xrisz_ Год назад
Всё +/- как и с игроком. Списки.
@random4ik87
@random4ik87 Год назад
у меня соприкосновение не работает
@naik2288
@naik2288 4 месяца назад
посмотри табуляцию в цикле, где происходит считывание соприкосновения
@muzaffaryusupov5542
@muzaffaryusupov5542 Год назад
line 49, in screen.blit(gost, (gost_x, 210)) TypeError: argument 1 must be pygame.surface.Surface, not tuple вот такой ошибка вышла
@user-us6pe3gu6d
@user-us6pe3gu6d Год назад
Тоже самое, можно узнать как вы её решили
@user-oz8lu4eh3d
@user-oz8lu4eh3d 8 месяцев назад
Не правильный объект передаете. Вместо кортежа(tuple) ожидается объект -> pygame.surface.Surface. Попробуй посмотреть подробности, какие аргументы и какого типа должен принимать метод. А еще лучше общайся с чатом gpt максимально быстрая помощь
@layfan_carparking
@layfan_carparking Месяц назад
Помогите пожалуйста у кого игрок как бешеный
@romasyrgabaev1887
@romasyrgabaev1887 Год назад
Здравствуйте вот get_rect не работает его не находит можете помочь?
@klerox5142
@klerox5142 4 месяца назад
Не выводится "You lost"?
@ashotmargaryan6931
@ashotmargaryan6931 Год назад
Скажите пожалуйста у меня когда мы делали чтобы привидения бесконечно шло я всё так же сделал но пишет nameerror:name 'el' is not defined
@ZamlaGames
@ZamlaGames Год назад
у меня тоже такая фигня
@D0L1X228
@D0L1X228 Год назад
у меня тоже такое
@flexyyyapk
@flexyyyapk Год назад
может из за того что ты используешь цыкл while или что то другое
@layfan_carparking
@layfan_carparking Месяц назад
там просто вы пробелы не правильнло поставили
@бодябебра228
@бодябебра228 5 дней назад
​@@layfan_carparkingу меня такая же ошибка, но с пробелами все норм😭😭
@werssysi
@werssysi 3 месяца назад
как уменьшить персонажа????? я никак не могу понять куда подставлять transform.scale
@user-ll7um6nv6u
@user-ll7um6nv6u День назад
Что делать если появляется только один призрак и всё
@waqixid
@waqixid Год назад
у меня весь скрипт по видео написан, но монстры никак не появляются на экране... и нет, у меня скрипт написан после блита фона на экране, так что не знаю в чем дело
@waqixid
@waqixid Год назад
а, не, все ок, я просто забыла написать .type к event
@Exsyzen.0
@Exsyzen.0 7 месяцев назад
Посмотрел видео Написал код Код не работает Пересмотрел видео Не понял почему у него работает а у меня нет Нашел ошибку,пытаешься исправить Не исправил 3 раз пересматриваешь видео Не получается Ебанул ноут об стену
@user-ud5ss6xu9r
@user-ud5ss6xu9r 6 месяцев назад
Что делать если призраки поевляются но их хитбоксы остоются в правом углу
@user-ic4qm9ig8j
@user-ic4qm9ig8j 4 месяца назад
Какать
@Vongal710
@Vongal710 Год назад
ЛЮДИ ЗАЧЕМ ВЫ СБДА ПИШИТЕ ВОПРОСЫ АВТОР НИКОГДА НА НИХ НЕ ОТВЕТИТ ПОЙМИТЕ ЭТО ОН ВАМ НИКАК НЕ ПОМОЖЕТ
@user-ud5ss6xu9r
@user-ud5ss6xu9r 6 месяцев назад
ЧТОБЫ ТЕ КТО КОМЕНТЫ ЧИТАЮТ ПОМОГЛИ! ЧЁ ОРЁШЬ!!
@Vongal710
@Vongal710 6 месяцев назад
фу злюка @@user-ud5ss6xu9r
@zlato5388
@zlato5388 9 месяцев назад
У меня при столкновение с врагом закрываеться основной екран , что я пропустил ?
@kakoitoguard
@kakoitoguard Год назад
а что делать если у меня иногда появляется то 1 враг, то 5, то целая армия, ну типо если не двигаться, то будет появляться столько врагов, пока не перестанешь двигаться, вроде код написал правильно
@Wunder944
@Wunder944 5 месяцев назад
у меня также
@Wunder944
@Wunder944 5 месяцев назад
я исправил вообще-то если у тебя в самом конце где строка if event.type == ghost_timer если у тебя в этом блоке что-то подсвечивается то тогда просто сделай табуляцию для каждой строки
@bebrozavr228
@bebrozavr228 Год назад
я скрипт прописал точно такой же, но враг не выводится на экран
@user-by2ww9no7v
@user-by2ww9no7v Год назад
значит не точно так же
@Gillmur
@Gillmur Год назад
скорее всего ты написал скрипт до переменной бек граунда и у тебя враг находится за БГ
@user-vu4tv5zs6j
@user-vu4tv5zs6j 11 месяцев назад
подскажите пожалуйста что делать если враг не отобразился в игре. Я пересмотрел много раз код все переписал правильно.
@Jacuzodo
@Jacuzodo 11 месяцев назад
аналогичная ошибка, если нашел ответ, поделись, пожалуйста
@user-oo7vn6ts7o
@user-oo7vn6ts7o 7 месяцев назад
Напиши строку кода которая выводит моба
@LonasGames
@LonasGames Год назад
почему у меня персонаж не прыгает, я все точно так же как и вы сделал
@FRIZTVvibes
@FRIZTVvibes Год назад
Го игру на джава
@xvr4138
@xvr4138 Месяц назад
Я сделал также как из видео, но пипец мой игрок и враг бегуг как соники МОЯ видеокарта офигевает..
@BGames11
@BGames11 Год назад
Подскажите пожалуйста, почему у меня в конце пропало изображение врага, просто в консоли выводится you lose постоянно? Просто перестало выводится изображение призрака, то есть квадрат есть, потому-что срабатывает отслеживание соприкосновения, а картинки нет( Может кто-то знает что делать
@Jacuzodo
@Jacuzodo 11 месяцев назад
аналогичная проблема, если нашел ответ, поделись, пожалуйста
@user-le7rx9fc1j
@user-le7rx9fc1j 2 месяца назад
у меня была эта проблема я просто удалил всё что была связана с ghost и перепмсал заново с гайда и всё пофикселось
@user-le7rx9fc1j
@user-le7rx9fc1j 2 месяца назад
и попробуй не добовлять conwert alhpa
@Vivenslitteris
@Vivenslitteris Год назад
как изменить размер врага?
@zxcursed8283
@zxcursed8283 Год назад
в редакторе изображения можешь изменить размер как врага, так пули, так и героя
@user-ws7cl1uu7v
@user-ws7cl1uu7v Год назад
player = pygame.image.load("images/game/voin1.png").convert_alpha() создание изображение для переменной player = pygame.transform.scale(player, (200, 250)) его размеры по x и y
@Vongal710
@Vongal710 Год назад
Люди кто может помочь у меня враги спавнятся группами типо они не спавнятся там пару секунд и потом разом спавнятся ардой что делать?
@user-iy7op2fm8x
@user-iy7op2fm8x Год назад
ЛЮДИ ЗАЧЕМ ВЫ СБДА ПИШИТЕ ВОПРОСЫ АВТОР НИКОГДА НА НИХ НЕ ОТВЕТИТ ПОЙМИТЕ ЭТО ОН ВАМ НИКАК НЕ ПОМОЖЕТ (c) Vongal710
@user-il2sg9xw7b
@user-il2sg9xw7b 10 месяцев назад
@@user-iy7op2fm8x могут ответить другие пользователи шарящие за проблему
@user-vr9lm9ej1f
@user-vr9lm9ej1f Месяц назад
Да у меня токая же проблема. Ты смог её решить?
@Vongal710
@Vongal710 Месяц назад
@@user-vr9lm9ej1f не помню, это было два года назад, но вроде бы да, я там что то с символами по типу точек и двоеточия поменял,вроде бы так
@user-us6pe3gu6d
@user-us6pe3gu6d Год назад
Подскажите пожалуйста,что делать если вышла такая ошибка:Traceback (most recent call last): line 48, in screen.blit (bg, (bg_x, 0)) KeyboardInterrupt Process finished with exit code -1073741510
@Vongal710
@Vongal710 Год назад
забей последнюю строку в гугл поищи там ответы в ютубе тебе мало кто поможет
@Eroma_Light
@Eroma_Light Год назад
У вас ошибка в коде.
@user-us6pe3gu6d
@user-us6pe3gu6d Год назад
Я нашел её, спасибо
@stenksstenksovuch7447
@stenksstenksovuch7447 8 месяцев назад
Чому привиди спотворюються , ?
@xqzmitv557
@xqzmitv557 2 месяца назад
У меня этот невидимый квадрат гораздо больше призрака все время проигрываю кто подскажет как его сделать меньше?
@promoney9768
@promoney9768 2 месяца назад
может быть невидимая часть призрака слишком большая?
@xqzmitv557
@xqzmitv557 2 месяца назад
@@promoney9768 возможно надо попробывать
@Mr.Pix1
@Mr.Pix1 Год назад
topleft = Принимает как переменную а не как параметр
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде.
@user-lj3yf5rk8x
@user-lj3yf5rk8x Год назад
@@attrakcion он не отчаивается. Здесь это вообще не к месту
@flexyyyapk
@flexyyyapk Год назад
потому что ты пробел ставишь вот оно и принимает как переменную
@arz_evil
@arz_evil Год назад
Я не понимаю, почему у меня враги летят со скоростью света написал я все правильно
@goordeii
@goordeii Год назад
уменьши количество кадров или же скорость передвижения самого врага
@user-gh2nr3jm5c
@user-gh2nr3jm5c Год назад
keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and player_x > 5: player_x -= player_speed elif keys[pygame.K_RIGHT] and player_x
@LLL-nu9tc
@LLL-nu9tc Год назад
Пишет AttributeError: 'pygame.rect.Rect' object has no attribute 'topLeft'
@user-iy7op2fm8x
@user-iy7op2fm8x Год назад
можешь просто не писать 'topleft', просто (х,у), нужно просто будет подобрать правильные координаты
@LLL-nu9tc
@LLL-nu9tc Год назад
@@user-iy7op2fm8x Спасибо за ответ. Сейчас попробую
Далее
2 YEARS of PYTHON Game Development in 5 Minutes!
4:54
Просмотров 892 тыс.
I Built a Trampoline Park in My House!
29:50
Просмотров 11 млн
NOOOO 😂😂😂
00:14
Просмотров 9 млн
Что такое Render и Commit в React
9:53
Просмотров 3,3 тыс.
How to Make a 3D Game in Python from Scratch [ Pygame ]
16:14
Is the C programming language still worth learning?
9:27
Добро пожаловать в C++
16:08
Просмотров 458 тыс.