Тёмный

Игра на Pygame с нуля / Урок #5 - Передвижение и прыжок 

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

В ходе урока мы научимся отслеживать команды от пользователя и за их счет сумеем передвигать основного игрока по игровой сцене. Помимо передвижения мы также изучим процесс создания прыжка.
✅ Полезные ссылки:
- Урок на сайте itProger: itproger.com/course/pygame/5
⏰ Тайм-коды:
00:00 - Начало
00:19 - Передвижение игрока
04:05 - Границы и разные анимации
07:35 - Реализация прыжка
14:15 - Заключительная часть
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Инстаграм itProger: / itproger_official
Группа FaceBook - goo.gl/XW0aaP
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #itProger 👨🏼‍💻
- Все уроки по хештегу #itprogerLessons

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

 

13 июл 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 150   
@prosto_foxy
@prosto_foxy 21 день назад
Спасибо огромное, никогда не понимал как сделать прыжок 👍👍👍
@rapida7162
@rapida7162 Год назад
Блин круто, надеюсь будет больше видосов по пайгейм
@salogavida4232
@salogavida4232 Год назад
Спасибо за такие подробности,очень помог
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде..
@arlevein4ik
@arlevein4ik Год назад
Спасибо за урок, радуюсь, как ребенок, когда все получилось)
@Hero-zt3yw
@Hero-zt3yw 6 месяцев назад
почему как? так и есть
@FirstJoker-ft2pb
@FirstJoker-ft2pb 4 месяца назад
бро, но ты же и есть ребенок)
@user-ew3iq5dh6t
@user-ew3iq5dh6t Год назад
Спасибо Вам за Ваш труд❤❤❤❤🎉🐍🐍🐍
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде..
@supermikebros
@supermikebros 10 месяцев назад
Спасибо,всё получилось : )
@mario_fan5507
@mario_fan5507 2 месяца назад
Большое спасибо, не с первого раза, но всё получилось
@hackerff763
@hackerff763 Год назад
Топ✊
@qwerty_77777
@qwerty_77777 Год назад
Спасибо из за твоих анимаци и списков,для тех кто этого не делал не работает
@user-bc7nx7qn7c
@user-bc7nx7qn7c Год назад
Просто подправь немного код...
@user-rs8ss6fz5x
@user-rs8ss6fz5x 8 месяцев назад
2 луны😀
@_tehnick_7777
@_tehnick_7777 2 месяца назад
У меня такая проблема, персонаж двигается, фон двигается, но когда фон первый раз проходит весь экран, второй раз проходит весь экран, то вроде бы всё нормально, но на третий раз происходит как бы умножение этого фона, он как бы накладывается сам на себя бесконечно. И экран превращается в просто большое количество полос. Надеюсь, смог объяснить... Если кто-то понял, можете объяснить, почему так?
@user-cx7oq6vh9d
@user-cx7oq6vh9d Год назад
можете помочь я когда жму кнопку налево то у меня анимация просто пропадает и он стоя летит налево
@aboderu8533
@aboderu8533 Год назад
А как например сделать что бы скорость анимаций была более медленная, а вот скорость прыжка более быстрая?
@tursynbek3704
@tursynbek3704 6 месяцев назад
bg_x -= 5 поставь если еще медленно то =-1 и т.д можешь изменить
@user-cp1ux5hr7c
@user-cp1ux5hr7c 17 дней назад
Помогите, когда у меня начинает повторяться фон у меня появляются помехи
@AnDroidS91100
@AnDroidS91100 11 месяцев назад
у меня при нажатии на кнопку влево получается два изображения на заднем плане игрок идет в лево, а на него наложено изображение игрок идет в право. Что за ошибка? подскажите
@Vena_5
@Vena_5 11 месяцев назад
import pygame clock = pygame.time.Clock() pygame.init() screen = pygame.display.set_mode((1280, 720)) pygame.display.set_caption(title='my_first_project') pygame.display.set_icon(pygame.image.load('images/icon.png')) bg = pygame.image.load('images/bg.jpg') bg = pygame.transform.scale(bg, (1280, 720)) move_left = [ pygame.image.load('images/charter left/left (1).png'), pygame.image.load('images/charter left/left (2).png'), pygame.image.load('images/charter left/left (3).png'), pygame.image.load('images/charter left/left (4).png'), ] move_right = [ pygame.image.load('images/charter right/right (1).png'), pygame.image.load('images/charter right/right (2).png'), pygame.image.load('images/charter right/right (3).png'), pygame.image.load('images/charter right/right (4).png'), ] moving_animation_count = 0 bg_x = 0 bg_sound = pygame.mixer.Sound('sounds/bgsound.mp3') bg_sound.play() charter_speed = 5 charter_x = 250 running = True while running: screen.blit(bg, (bg_x, 0)) screen.blit(bg, (bg_x + 1280, 0)) keys = pygame.key.get_pressed() if not keys[pygame.K_LEFT]: screen.blit(move_right[moving_animation_count], (charter_x, 556)) if keys[pygame.K_LEFT]: screen.blit(move_left[moving_animation_count], (charter_x, 556)) elif keys[pygame.K_RIGHT]: screen.blit(move_right[moving_animation_count], (charter_x, 556)) if keys[pygame.K_LEFT] and charter_x > 50: charter_x -= charter_speed elif keys[pygame.K_RIGHT] and charter_x < 1230: charter_x += charter_speed if moving_animation_count == 3: moving_animation_count = 0 else: moving_animation_count += 1 bg_x -= 2 if bg_x == -1280: bg_x = 0 pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.quit() clock.tick(15) Немного изменил названия(переменные) под себя и у меня была проблема с тем, что персонаж не отображался когда не двигается (исправил это), тут только код до середины видео, до прыжков пока не дошел
@androiddecolt11
@androiddecolt11 14 дней назад
У меня челик пропадал, когда не нажимаешь кнопки. Для корректного движения вправо или влево лучшим решением для себя определил, что до цикла надо задать переменную move_direction = walk_right Затем внутри цикла без условий выводить screen.blit(move_direction[player_anim_count], (player_x, 400)) А ниже по условию переопределять значение переменной move_direction. Примерно так: if keys[pygame.K_LEFT]: move_direction = walk_left elif keys[pygame.K_RIGHT]: move_direction = walk_right
@user-kb9iq5tj7u
@user-kb9iq5tj7u 7 месяцев назад
Написала такой же код но не прыгает а остальное работает....???
@negrila_n
@negrila_n 8 месяцев назад
помогите! что делать если при нажатии прыжка игрок очень быстро прыгает, а мне надо замедлить как в видео! он очень быстро прыгает
@user-no3oq2eg5g
@user-no3oq2eg5g Год назад
Что делать если у меня spritesheet создает картинки как это исправить
@qMaRRk
@qMaRRk 2 месяца назад
Ребят помогите пожалуйста, когда щакодировал прыжок, под размеры экрана. То мой персонаж при нажатии на спейс подпрыгивал за пределы программы. Ну за фон а потом на секунду возвращался и снова улетал уже навсегда
@negrila_n
@negrila_n 8 месяцев назад
помогите что делать если сам игрок и фон очень быстро идут
@Wunder944
@Wunder944 4 месяца назад
Подскажите пожалуйста как уменьшить скорость спрайта не через команду clock.tick , а так чтобы замедлялся только спрайт я просто увеличили фпс а скорость спрайта понизить не могу что делать?
@user-gl3yb9xe4o
@user-gl3yb9xe4o 2 месяца назад
Телеграмм есть?
@layfan_carparking
@layfan_carparking Месяц назад
Внутри скобок число меняешь
@user-cc9nm3si8k
@user-cc9nm3si8k Год назад
так можна сделать так import pyautogui if is_presed == любая кнопка: действия
@mr_potato7946
@mr_potato7946 22 дня назад
а анимации как сделать?
@user-ct8hv7lt4u
@user-ct8hv7lt4u 11 месяцев назад
а ничего что когда солнце наполовину скрылось с другой стороны выходит другое солнце?
@user-it8rt8yh2f
@user-it8rt8yh2f 10 месяцев назад
4:00 у меня открывается и сразу закрывается , что делать?
@user-vanmihan
@user-vanmihan 9 месяцев назад
почему у меня ругается на двойные скобки на 38 строке, а у вас нет?
@folzi4343
@folzi4343 5 месяцев назад
Подскажите пожалуйста, сделал всё как на видео, но не выводится на экран не иконка программы, не квадраты, ничего проверял всё по нескольку раз
@alk4335
@alk4335 3 месяца назад
Если ответят подскажите мне тоже, такая же проблема
@layfan_carparking
@layfan_carparking Месяц назад
ты импортирвал pygame?
@QewSob
@QewSob Год назад
урок топовый очень жду некст урок
@attrakcion
@attrakcion Год назад
Здравстуй читатель. Хочу сказать тебе: не отчаивайся. Все у тебя может получиться. Не нужно думать что те у кого получилось достичь своих целей им просто случайно повезло. Это только так кажеться. Поверьте случайного везения не бывает. Ребята хочу вам сказать что случайностей вообще не бывает и вот почему: Представь себе выходишь ты в сад и видишь что все деревья в саду повалены. Какая мысль придет к тебе в голову? Скорее всего ты подумаешь что ночью прошел сильный ураган. А теперь представь что ты также выйдешь в свой сад и увидишь что не все деревья повалены, а каждое третье дерево повалено. Какая мысль придет к тебе в голову? Ну врят ли ты здесь все спишешь на ураган. Вполне возможно ты подумаешь что кто-то решил тебе отомстить и это явно не ураган. А теперь представь что у тебя в коробке 3000 (три тысяча) буквенных символов. И представь что ты подкинул все эти буквы в воздух. Упав на асфальт какова вероятность что эти буквы образуют какое нибудь слово? А какова вероятность что эти буквы образуют какое нибудь предложение? А какова вероятность что эти буквы образуют какой нибудь абзац? А какова вероятность что эти буквы образуют какой нибудь текст? А какова вероятность что эти буквы образуют какую нибудь книгу? Вероятность равна почти нолю. А ведь двойная спираль днк намного сложнее устроена чем текст на асфальте. Верить в то что там где то сверкнула молния и вот там тоже где то сверкнула молния, а потом произошла химическая реакция и химические элементы бац соединились и образовали сложное химическое вещество, которая вдруг стало бороться за свое сохранение и не просто сохранение, а ещё и воспроизведение себе подобных- это глупо. Это все равно что будучи археологом ты наткнешься на руины древнего города и первая мысль которая к тебе в голову придет- это что здесь когда то жили люди. Ну, а если твой коллега скажет: "неа, это просто там сверкнула молния и вон там тоже сверкнула молния, а потом началось землетрясение и вот таким образом и образовался этот город". Ты после этого разговора скорее всего попросишь руководство что бы твоего коллегу отстранили от работы в связи с тем что у него поехала крыша. Так вот предыдущая ситуация еще более нелепая. Бытует мнение что наша вселенная хаотична. Но я с этим не соглашусь. Я уверен что наша вселенная упорядоченна. Так что ребята случайностей не бывает. Случайного везения просто нет. Наша вселенная не хаотична, а упорядоченна. Просто ставьте цели и достигайте их. И верьте что у вас тоже может получиться. Не сдавайтесь ребята. Мой девиз в жизни такой: Терпеливо Активно Учитесь Хорошим Искренним Делам. Запомните эту аббревиатуру. И пусть этот девиз сопровождает вас везде..
@QewSob
@QewSob Год назад
@@attrakcion спасибо от души поднял мотивацию
@fan-wk9qj
@fan-wk9qj Месяц назад
что делать если персонаж сам прыгает помогите
@flexyyyapk
@flexyyyapk Год назад
что делать если я нажимаю кнопку налево/направо а он не ходит,а через некоторое время когда я держу кнопку он ходит один раз и всё
@sviatozarliebiediev2584
@sviatozarliebiediev2584 Год назад
У меня он вообще не ходит😭😭😭
@DvoeVTankeSt.
@DvoeVTankeSt. Год назад
А как сделать так, что когда игрок прыгает, земля идет в низ, а потом возвращается на место?
@salogavida4232
@salogavida4232 Год назад
Зафиксируй камеру на объекте
@DvoeVTankeSt.
@DvoeVTankeSt. Год назад
@@salogavida4232 логично, что сказать
@user-bc7nx7qn7c
@user-bc7nx7qn7c Год назад
Нужно будет двигать не камеру, а землю. Так игрок останется на одном месте, а земля уйдет вниз
@densaroken607
@densaroken607 11 месяцев назад
отнимай координаты не у игрока а у координат фона: if not is_jump: if keys[pygame.K_SPACE]: is_jump = True else: if jump_count >= -7: if jump_count > 0: background_y += jump_count **2 else: background_y -= jump_count **2 jump_count -=1 background_y - соответственно 0 получается говнище из-за фпс
@deadtie
@deadtie 9 месяцев назад
@@user-bc7nx7qn7c в больших проектах будет двигатся камера, а не земля
@user-vu2nz1nq9q
@user-vu2nz1nq9q 7 месяцев назад
что делать, если вылезает такая ошибка: AttributeError: module 'pygame' has no attribute 'get_pressed'
@mimasroblox228
@mimasroblox228 6 месяцев назад
перепроверь как ты написал, должно быть так: pygame.key.get_pressed()
@asmdonasondkjasldmaskdnoa
@asmdonasondkjasldmaskdnoa 7 месяцев назад
На видео в строке 62 автор пишет код player_y -= (jump_count **2) / 2.В этом же месте я у себя писал просто playe_y -= jump_count и мой объект просто зависал в верхней точке прыжка(при след нажатии пробела снова летел вверх и не падал),а как только я написал это непонятное (jump_count ** 2) / 2 у меня все заработало как на видео.Объект прыгал(да еще и красиво),а затем также спускался(красиво))).И не могу понять в чем магия.Ладно бы это влияло только на красоту,но при обычном -=jump объект делает что-то наподобии двойного прыжка вверх и зависвает в верхней точке
@DavlatovZ
@DavlatovZ 5 месяцев назад
Там было (jumpcount ** 2) / 2. Не путайте ** - знак степени с * -знаком умножения
@makin616
@makin616 Год назад
Кто может скинуть код , он будет подсказкой для меня,буду благодарен🙂
@krystynayeroshkina5070
@krystynayeroshkina5070 Год назад
А як у вас місцезнаходження Україна яндекс дзен та вконтактє?
@user-sp1iv4oe4m
@user-sp1iv4oe4m Год назад
блин все идеально работает но почему когда удерживаю левую кнопку у меня появляется задний фон в других координатах как исправить
@user-bc7nx7qn7c
@user-bc7nx7qn7c Год назад
Написать правильный код. Это всё что я могу тебе сказать. Ты мог ошибиться слишком во многих местах, чтобы я с точностью мог сказать где ошибка. Лучше сразу скинуть код, чтоб люди могли тебе помочь
@user-sp1iv4oe4m
@user-sp1iv4oe4m Год назад
@@user-bc7nx7qn7c да понимаю написал херню выше хотел удалить но забыл я все исправил
@smail-ik
@smail-ik 2 месяца назад
Помогите прыжок не работает, вылетает при заходе
@Molgish70
@Molgish70 8 месяцев назад
Здравствуйте, что делать если персонаж просто не появляется? код точно такойже
@AbyssChris731
@AbyssChris731 8 месяцев назад
ну на ум приходит только, то что ты персанажа добавил до фона и фон перекрывает персонажа
@user-mk8kp9bq1p
@user-mk8kp9bq1p 2 месяца назад
здравствуйте, что делать если после тгго как добавил кнопки и запустил у тебя сначала все работает, а потом идет все полосами и фон с игроком превращаются в лдинную полосу
@user-uz9pg1dw1s
@user-uz9pg1dw1s Месяц назад
Чел ты нашел ответ Если да скажи какой?
@user-uz9pg1dw1s
@user-uz9pg1dw1s Месяц назад
Мне очень надо
@_pawel_7418
@_pawel_7418 17 дней назад
ты уже нашел решение этой проблемы? если да то скажи пж
@Allj_onelove
@Allj_onelove 7 месяцев назад
Народ, подскажите, пожалуйста, что делать, если при каждом последующем прыжке персонаж проваливается под землю?
@maxfiredark9494
@maxfiredark9494 7 месяцев назад
пересмотри код, возможно где-то у тебя не правильные координаты стоят. Или удали и перепиши точь в точь как автор видео код пишет
@Allj_onelove
@Allj_onelove 7 месяцев назад
@@maxfiredark9494 Хорошо, спасибо)
@user-qd9pt9ey5h
@user-qd9pt9ey5h 4 месяца назад
Скорее всего у тебя не совпадает значение переменной jump_count вне цикла и в цикле
@user-ex6gx4um3f
@user-ex6gx4um3f 8 месяцев назад
после того как назначили клавиши передвежения персонаж пропал, помогите пожалуйста!, что делать?????
@user-ex6gx4um3f
@user-ex6gx4um3f 8 месяцев назад
как правильно изменить условие
@user-om4mj7bu6j
@user-om4mj7bu6j Год назад
Inmost? похоже
@Alisher_edit
@Alisher_edit 4 месяца назад
Когда я сделал все правильно про прыжок у меня высвечивается черный экран Почему так?
@alk4335
@alk4335 3 месяца назад
Если ответят подскажи, такая же проблема
@alexdonny7760
@alexdonny7760 10 месяцев назад
Не могу понять причину почему у меня персонаж может прыгнуть, но только один раз. Дальше пробел не работает как не старайся...
@user-gq2pn6vu4f
@user-gq2pn6vu4f 8 месяцев назад
Разобрались?
@alexdonny7760
@alexdonny7760 8 месяцев назад
@@user-gq2pn6vu4f Нет, к сожалению. Проект я уже забросил
@user-gq2pn6vu4f
@user-gq2pn6vu4f 8 месяцев назад
import pygame clock = pygame.time.Clock() pygame.init() screen = pygame.display.set_mode((450, 300)) pygame.display.set_caption('Pygame beginner') icon = pygame.image.load('image/umb.png') pygame.display.set_icon(icon) bg = pygame.image.load('image/back1.jpg') player = pygame.image.load('image/person/right/1_0.png') walk_right = [ pygame.image.load('image/person/right/1_0.png'), pygame.image.load('image/person/right/1_1.png'), pygame.image.load('image/person/right/1_2.png'), pygame.image.load('image/person/right/1_3.png'), pygame.image.load('image/person/right/1_4.png'), pygame.image.load('image/person/right/1_5.png'), pygame.image.load('image/person/right/1_6.png') ] walk_left = [ pygame.image.load('image/person/left/2_0.png'), pygame.image.load('image/person/left/2_1.png'), pygame.image.load('image/person/left/2_2.png'), pygame.image.load('image/person/left/2_3.png'), pygame.image.load('image/person/left/2_4.png'), pygame.image.load('image/person/left/2_5.png'), pygame.image.load('image/person/left/2_6.png') ] bg_sound = pygame.mixer.Sound('music/skazka.mp3') bg_sound.play() bg_x = 0 player_anim_count = 1 player_speed = 10 player_x = 40 player_y = 194 is_jamp = False jamp_count = 7 running = True # условие работы программы while running: screen.blit(bg, (bg_x, 0)) screen.blit(bg, (bg_x + 450, 0)) keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: screen.blit(walk_left[player_anim_count], (player_x,player_y)) else: screen.blit(walk_right[player_anim_count], (player_x, player_y)) if keys[pygame.K_LEFT] and player_x > 15: player_x -= player_speed elif keys[pygame.K_RIGHT] and player_x < 435: player_x += player_speed if not is_jamp: if keys[pygame.K_SPACE]: is_jamp = True else: if jamp_count >= -7: if jamp_count > 0: player_y -= (jamp_count ** 2) / 2 else: player_y += (jamp_count ** 2) / 2 jamp_count -= 2 elif jamp_count < -7: is_jamp = False jump_count = 7 if player_anim_count == 6: player_anim_count = 1 else: player_anim_count += 1 pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: running= False pygame.quit() bg_x -= 2 if bg_x == - 450: bg_x = 0 clock.tick(3)
@user-gq2pn6vu4f
@user-gq2pn6vu4f 8 месяцев назад
Может быть, кто-то подскажет, почему прыжок при таком коде возможен только один раз за запуск?
@layfan_carparking
@layfan_carparking Месяц назад
@@user-gq2pn6vu4f А у меня он вообще не работает
@migelel3071
@migelel3071 6 месяцев назад
Все било нормально, пропало изображение, ошибок не ппоказует. Пожалуйста помогите
@awesome1420
@awesome1420 9 месяцев назад
У меня прыжок не робит
@user-lo2xx5kz4y
@user-lo2xx5kz4y 6 месяцев назад
Ты нашёл причину?
@awesome1420
@awesome1420 6 месяцев назад
@@user-lo2xx5kz4y не нашел, я просто сделал свою систему прыжка
@Korodor-bv4dn
@Korodor-bv4dn 6 месяцев назад
И у меня прыжок не рубит. Почему?
@Korodor-bv4dn
@Korodor-bv4dn 6 месяцев назад
Может дело в том что у тебя Windows а у itproger Mac OS
@user-lo2xx5kz4y
@user-lo2xx5kz4y 6 месяцев назад
@@Korodor-bv4dn это невозможно библиотека и версия питона ведь 1 при чём тут операциока 🤦
@newbie-in-python
@newbie-in-python Год назад
А как сделать кнопки что бы можно было управлять на телефоне
@flexyyyapk
@flexyyyapk Год назад
Нужно скачать клавиатуру компа
@user-qx4ot3vs5c
@user-qx4ot3vs5c Год назад
люди, проблема: я написал точно такой же код, как в видео, но игрок сам начинает идти вперед, не упирается ни в какую невидимую стену справа и в какой то момент карта (задний фон) начинает багать
@cubver3934
@cubver3934 Год назад
Мне кажется ты что-то неправильно указал
@cubver3934
@cubver3934 Год назад
Скорее всего ты перепутал персонажа с фоном (может быть я не знаю)
@vsratie1964
@vsratie1964 11 месяцев назад
возможно косяк с отступами
@pain-mn6vn
@pain-mn6vn Год назад
TypeError: argument 1 must be pygame.surface.Surface, not list
@restabilvilia3674
@restabilvilia3674 Год назад
такая же ошибка:( ну я подумал и поправил код, но всё равно персонаж пропал (; _ ;) keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: sc.blit(walk_left, [player_anim_count], (player_x, 260)) elif keys[pygame.K_RIGHT]: sc.blit(walk_right, [player_anim_count], (player_x, 260))
@restabilvilia3674
@restabilvilia3674 Год назад
о получилось, между walk_left(твоим спрайтом) и [player_anim_count] стоит " , " а там её нет :). В двух словах просто убери лишнюю запятую.
@danil7310
@danil7310 Год назад
​​@@restabilvilia3674ты обращаешься к элементам списков walk_left и walk_right, индексом является player_anim_count, между ними не должно быть запятой. Чтобы программировать на pygame надо всё таки основы питона знать
@Game-ej6vo
@Game-ej6vo 9 месяцев назад
у меня просто крашится после того как я закодил прыжок что делать
@mario_fan5507
@mario_fan5507 2 месяца назад
Проверь внимательно код прыжка, там даже один неправильный символ может всё портить
@user-xf1iv6jv4x
@user-xf1iv6jv4x 9 месяцев назад
странно почему то у меня прыжок проигрывается миллион раз и супер быстро
@DrgG216
@DrgG216 3 месяца назад
ответ найден , в строке elif is jump == True : замените elif на if , будет прыгать один раз , если нажмете опять , то опять один раз
@user-np3sj9sr8d
@user-np3sj9sr8d Год назад
крч народ, у меня такая проблема я импортировал pygame, но у меня не получается запустить код... Может быть кто-то знает в чем проблема?
@m9tayoutub3
@m9tayoutub3 Год назад
Pygame - не встроенная библиотека. Чтобы ее использовать, ее нужно установить.
@layfan_carparking
@layfan_carparking Месяц назад
@@m9tayoutub3 Встроеная в терминале пишешь pip install pygame
@DrgG216
@DrgG216 3 месяца назад
помогите , пожалуйста , у меня прыжок зацикливается и игрок постоянно прыгает
@DrgG216
@DrgG216 3 месяца назад
ответ найден , в строке elif is jump == True : замените elif на if
@user-ti9vu7fw3p
@user-ti9vu7fw3p 3 месяца назад
кто знает как изменить размер персонажа? а то он у меня высокий
@Brawmai
@Brawmai 3 месяца назад
Это только другой спрайт брать
@Brawmai
@Brawmai 3 месяца назад
А нет сор вот код player_size = pygame.transform.scale(player, (Размер в пикселях)) Если что взял у другого коммента:)
@user-ks1fk9oz7j
@user-ks1fk9oz7j 6 месяцев назад
почему у меня он вообще не прыгает
@Faraon1y
@Faraon1y Год назад
А что делать если персонаж прыгает сам?
@user-cq2tk7gz8z
@user-cq2tk7gz8z Год назад
попробуй подредактировать код где написано: is_jump = False jump_count = 8
@user-cq2tk7gz8z
@user-cq2tk7gz8z Год назад
если после этого персонаж начнёт прыгать вниз, а не вверх, то попробуй поменять местами + с минусом player_y += (jump_count ** 2) / 2 else: player_y -= (jump_count ** 2) / 2 вот тут. Думаю как-то я тебе помог)
@Faraon1y
@Faraon1y Год назад
@@user-cq2tk7gz8z нет чувак не помогло, он все также прыгает только уже вниз. Что еще посоветуешь?
@user-cq2tk7gz8z
@user-cq2tk7gz8z Год назад
Скинь свой скрипт сюда, я его просмотрю
@Faraon1y
@Faraon1y Год назад
@@user-cq2tk7gz8z вот надеюсь сможешь мне помочь
@GarrisenG
@GarrisenG 7 месяцев назад
КТО МОЖЕТСКИНУТЬ ВЕСЬ КОД
@user-pv7fx8iy9d
@user-pv7fx8iy9d 10 месяцев назад
у меня сразу сам при запуске начинает прыгать бесконечно, а если нажать пробел он просто остонавливается лол
@Fanfa397
@Fanfa397 10 месяцев назад
Тоже самое нашол решение?
@Tverdiy_pufik
@Tverdiy_pufik 10 месяцев назад
Я нашёл решение: когда он пишет строку на тайм коде 10:09 заметьте, что он перед 7 написал -
@user-ti9vu7fw3p
@user-ti9vu7fw3p 3 месяца назад
что делать если прыжок не работает? вот код :
@user-ti9vu7fw3p
@user-ti9vu7fw3p 3 месяца назад
import pygame clock = pygame.time.Clock() pygame.init() screen = pygame.display.set_mode((1280,748)) pygame.display.set_caption("king of avalon") image = pygame.image.load("image/icon.png") pygame.display.set_icon(image) bg = pygame.image.load("image/bg.png") walk_left = [ pygame.image.load("image/player lefts/left 1.png"), pygame.image.load("image/player lefts/left2.png"), pygame.image.load("image/player lefts/left3.png"), pygame.image.load("image/player lefts/left4.png"), ] walk_right = [ pygame.image.load("image/player right/right1.png"), pygame.image.load("image/player right/right2.png"), pygame.image.load("image/player right/right3.png"), pygame.image.load("image/player right/right4.png"), ] player_anim_count = 0 bgx = 0 player_speed = 5 player_x = 150 player_y = 250 is_jump = False jump_count = 7 bg_sound = pygame.mixer.Sound('sounds/king of avalon.mp3') bg_sound.play() running = True while running: keys = pygame.key.get_pressed() screen.blit(bg, (bgx, 0)) screen.blit(bg,(bgx + 1280 , 0)) if keys[pygame.K_LEFT]: screen.blit(walk_left[player_anim_count], (player_x, 350)) else: screen.blit(walk_right[player_anim_count], (player_x, 350)) if player_anim_count == 3: player_anim_count = 0 else: player_anim_count +=1 pygame.display.update() if keys[pygame.K_LEFT] and player_x > 50: player_x -= player_speed elif keys [pygame.K_RIGHT]: player_x += player_speed and player_x < 200 player_x + player_speed if not is_jump: if keys [pygame.K_SPACE]: is_jump = True else: if jump_count >= -7: if jump_count > 0: player_y -= (jump_count ** 2) / 2 else: player_y += (jump_count ** 2) / 2 jump_count -= 1 else: is_jump = False jump_count = 7 bgx -= 2 if bgx == -1280: bgx = 0 pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.quit() clock.tick(8)
@user-cj4dy7uh6p
@user-cj4dy7uh6p 8 месяцев назад
Я нажимаю на пробел и мой player улетает в космос 🤔😵
@skywalker12435
@skywalker12435 7 месяцев назад
тоже самое
@skywalker12435
@skywalker12435 7 месяцев назад
даже вместо 7 поставил 1 все равно не помогло
@kok706
@kok706 6 месяцев назад
ДА ПОЧЕМУ У ВСЕХ РАБОТАЕТ А У МЕНЯ НЕТ?
@entesour
@entesour Год назад
🥺Инмост разрабатываете
@aurusd3703
@aurusd3703 Год назад
Всем привет, кто знает, в чем может заключаться такая проблема: Когда персонаж идет, то его изображение иногда размывается? Это плохо обрезанный файл или может дело в другом?
@grovestreet2126
@grovestreet2126 Год назад
Тут дело уже в том, как ты прописал сам код
@user-uz9pg1dw1s
@user-uz9pg1dw1s Месяц назад
Размывается- превращается в полосу?
@karmaakabane4310
@karmaakabane4310 Год назад
Выдает за ошибку keys[pygame.K_Left]:
@karmaakabane4310
@karmaakabane4310 Год назад
Просто переписал 1в1 и заработало
@_pawel_7418
@_pawel_7418 17 дней назад
Помогите, когда у меня начинает повторяться фон у меня появляются помехи
Далее
How to Make a 3D Game in Python from Scratch [ Pygame ]
16:14
Easy Way to Make Jumping in PyGame! (7 Mins)
7:24
Просмотров 30 тыс.
Programming Language Tier List
0:55
Просмотров 2,8 млн