Создание поверхностей (Surface) и их анимация. Метод blit | Pygame #5

Поділитися
Вставка
  • Опубліковано 3 гру 2024

КОМЕНТАРІ • 32

  • @Anvil_Craft
    @Anvil_Craft 2 роки тому +13

    Лучшие объяснения из тех, которые я когда-либо видел

  • @rioriocccp5929
    @rioriocccp5929 Рік тому +2

    0:09 вступление
    0:32 пример
    0:47 создаем поверхность surf
    1:13 отображаем поверхность в клиентской области окна
    1:33 как работает пример
    1:37 принцип работы
    2:24 для чего это нужно
    2:41 документация по поверхностям
    2:59 прозрачность поверхности, метод set_alpha(alpha)
    3:16 пример
    3:41 set_alpha() в коде
    4:14 как работает пример
    4:22 что делает код
    4:57 как это выглядит графически
    5:35 меняем поверхности местами
    5:54 как работает пример
    6:28 анимация поверхностей
    6:42 создаем две поверхности и красим их
    7:02 вспомогательные переменные
    7:19 код анимации
    8:11 принцип анимации
    8:25 как работает пример
    8:43 заключение

  • @mantrida
    @mantrida 4 роки тому +9

    Отличное сочетание последовательности изложения материала, подробности объяснения, понятности и скорости подачи! Жду новых роликов! Лайкподпискаколокольчик )

  • @ВикторЧеботарь-з2в

    спасибо за занятие

  • @простоМалышОва
    @простоМалышОва 4 роки тому +8

    Классно, я просто не знаю что написать....

  • @vialomur__vialomur5682
    @vialomur__vialomur5682 3 роки тому +1

    Спасибо!

  • @konstantinsivtsov2402
    @konstantinsivtsov2402 2 роки тому +1

    Очень хорошо объяснили. Вопрос по координатам отрисованных объектов. Поверхность surf движется вниз, т.е ее Y увеличивается, координата Y у bita тоже увеличивается? Но относительно surf по вертикали bita неизменна. Координаты абсолютные (т.е. зависят от размера заданного дисплея)? Есть ли относительные координаты объекта, которые отрисовываются в поверхности?

  • @felx8390
    @felx8390 2 роки тому +3

    Здравствуйте, у вас очень хороший и понятный гайд. Но у меня возникла проблема, я хочу привязать анимацию к окну, допустим что это окно называется hero. Я хочу сделать так что бы анимация выстрела исходила от героя, но я не знаю нужной команды. То есть я хочу вычислять координаты ‘hero’ каждый раз когда цикл заканчивается. И далее в команде анимации выстрела сделать стартовую позицию как координаты героя в настоящий момент. Помогите пожалуйста с этим вопросом!

  • @mal1n778
    @mal1n778 Рік тому +1

    Я вот хочу сделать, чтобы при нажатии на кнопку, то есть в цикле с событиями, выводилась поверхность черного цвета полупрозрачным, и почему то set_alpha работает с нарастанием, а не постоянно, то есть при нажатии, если сделать 1, то с каждой миллисекундой становится менее прозрачным, как сделать постоянным в цикле его?

  • @zorcopzorcopovich2928
    @zorcopzorcopovich2928 3 роки тому +2

    я поставил 255тый лайк!

  • @nosnos6379
    @nosnos6379 2 роки тому +2

    Добрый день, спасибо за пояснения. А можно ли сделать область с полупрозрачным фоном, но непрозрачным объектом на ней? Или этого можно достичь только путём использования двух областей сразу?

    • @selfedu_rus
      @selfedu_rus  2 роки тому

      Там можно использовать альфа-канал и устанавливать степень прозрачности. Посмотрите по документации, где именно это настраивается не помню на память.

    • @nosnos6379
      @nosnos6379 2 роки тому

      @@selfedu_rus понял, благодарю.

  • @GreekkAlex
    @GreekkAlex 4 роки тому +1

    спасибо!!!!!!!!!!!!!!!+++++++++++++++++

  • @bari9631
    @bari9631 Рік тому +1

    А могу ли я поинтересоваться, можно ли сделать так чтобы объект Surface отображался в каком-нибудь другом виде а не прямоугольником или квадратом?
    Я так понимаю можно только скрыть его какие-то части другой поверхностью или делать изначально у картинки прозрачный фон?

    • @selfedu_rus
      @selfedu_rus  Рік тому +1

      да, через прозрачный фон картинки можно сделать

    • @bari9631
      @bari9631 Рік тому

      Спасибо!

  • @tochka2037
    @tochka2037 Рік тому +1

    Как их убрать-то?

  • @ДмитрийЛеонов-т6б
    @ДмитрийЛеонов-т6б 3 роки тому

    Почему в последнем примере с анимацией синяя поверхность и красная бита движутся рывками, явно заметными. Можно ли как то убрать эти рывки?

    • @selfedu_rus
      @selfedu_rus  3 роки тому

      Это из-за видео, в программе у меня все плавно шло.

    • @кружок-ж2в
      @кружок-ж2в 2 роки тому +1

      Можно использовать дробное число. Рывки происходят из-за изменения координаты на некое количество пикселей. Если мы будем задавать перемещение на вещественное число, то каждый раз перемещение будет происходить на пол, четверть, и т.д. пикселей.

  • @пустой-и2д
    @пустой-и2д 3 роки тому +1

    Мне ето напомнило слои в фотошоп

  • @-jerf-
    @-jerf- 2 роки тому +1

    только жалко, что сайт pygame оффлайн ..

    • @inheretoruma7264
      @inheretoruma7264 2 роки тому

      Vpn в помощь😎

    • @-jerf-
      @-jerf- 2 роки тому

      @@inheretoruma7264 там что, для России ток закрыт?? Я думал, по причине, указанной на сайте

  • @qwertyytrewq1056
    @qwertyytrewq1056 3 роки тому

    Почему у меня анимация лагает?

    • @ГоЛуБь-ф5ж
      @ГоЛуБь-ф5ж 3 роки тому

      Возможно ты делаешь слишком большие разрывы между координатами

  • @nouchance
    @nouchance 4 роки тому

    Бл* по скорее бы Django...

    • @selfedu_rus
      @selfedu_rus  4 роки тому

      подожду хотя бы 20 тыс. подписчиков, иначе совсем грустно будет...

    • @nouchance
      @nouchance 4 роки тому +3

      @@selfedu_rus ок я рекламировать буду чтобы скорее бы 20к удачи тебе!

    • @wasdik8874
      @wasdik8874 4 роки тому

      А что с Джанго? Будут уроки по Джанго?

    • @nouchance
      @nouchance 4 роки тому

      @@wasdik8874 Да по-моему Автор сказал что 20подписчик. нужен а потом как бы начнем.