20.05.2022
статья
Фишки pygame и python

Всем привет! Сегодня я вам расскажу про некоторые фишки питона и его модуля pygame, которые нам не расскажут на уроке.


1. Метод __contains__ (python):

Он определяет, есть ли в вашей переменной буква или слово, которое вы указали. Пример:

hello = "Hello, world!"

if hello.__contains__(e):
    print(hello)

Этот код выведет переменную hello в консоль потому, что она содержит букву "e"


2.Функция "flip" (pygame):

Эта функция отражает по вертикали или горизонтали вашу картинку. Пример:

image = pygame.transform.flip(image,Xbool,Ybool)

Где image - ваше изображение, Xbool - необходимость в отражении по горизонтали(True/False), Ybool - необходимость в отражении по вертикали(True/False).
Можно выбрать и то, и другое. Если что, функция flip отражает вашу картинку, а не делает её отражённой. То есть если у вас картинка уже была отражена, она отразиться ещё раз.


3.Вы можете не рисовать кнопки (pygame, python):

У вас нет нормальной программы для рисования кнопок или вам просто лень разбираться в ней? Тогда вам помогут классы в python!
В питоне можно наследовать классы. То есть можно в одном классе взять часть другого. Так, например, стрельба делается.
Для создания кнопки, без фотошопа, вам нужно создать класс и наследовать его у класса pygame "Sprite". Это делается так:

class Button(pygame.sprite.Sprite):
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)

Дальше добавляем изображение кнопки. Это класс pygame "Surface". Потом делаем дизайн для кнопки. Можно нарисовать несколько разных квадратов. Можно просто заполнить пространство цветом и нарисовать текст. Всё это делаем на изображении спрайта, или, у нас, сурфайсе. В конце создаём rect для кнопки. Указываем координаты и т.д. Добавляем её в ранее созданную группу спрайтов. Назовём её buttons.
Как сделать событие на клик по этой кнопке я вам расскажу в следующей части(если она будет)


На этом всё, с вами был Faratos. Подписывайтесь на мой профиль, ставьте лайки(будет много лайков - будет 2 часть).

Всем удачи и всем пока!

Комментарии (2)
Очень круто, буду пользоваться
так это почти всё на курсах проходится