Не могу понять (зачем) часть кода в python 3.8.10, ОС - linux elementary os основана на ubuntu

LehaHot

Новичок
Пользователь
Апр 17, 2022
4
0
1
Часть которую я не могу понять:
Python:
    def move(self): # Функцыя для переещение персонажа
        self.rect = self.rect.move(self.speed) # Это не могу понять
        if self.rect.left < 0 and self.rect.right > shirina: # И это
            self.speed[0] = -self.speed[0] # И это

        if self.rect.top < 0 and self.rect.bottom > wisota: # И это
            self.speed[1] = -self.speed[1] # И это

Весь код:
Python:
class personas1(pygame.sprite.Sprite):
    def __init__(self, image_file1, location1, speed): # Добавляем аргумент speed
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(image_file1)
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = location
        self.speed = speed # Добовляем эту строку, создающию для персонажа атрибут speed

    def move(self): # Функцыя для переещение персонажа
        self.rect = self.rect.move(self.speed)
        if self.rect.left < 0 and self.rect.right > shirina:
            self.speed[0] = -self.speed[0]

        if self.rect.top < 0 and self.rect.bottom > wisota:
            self.speed[1] = -self.speed[1]

from random import *

size = shirina, wisota = 640, 505
screen = pygame.display.set_mode(size)
screen.fill([255, 255, 255])
img_file1 = '1-бег вправо.png'
bb1 = []

for topp1 in range(0, 1):
    for cc1 in range(0, 1):
        location = [cc * 180 + 10, topp1 * 180 + 10]
        speed = [choice([-2, 2]), choice([-2, 2])] # Рандомная скорость
        per1 = personas1(img_file1, location, speed) # Добавляем передачу speed
        bb1.append(per1)

run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = True
            pygame.quit()
    pygame.time.delay(20) # Начинаем цыкл для пермещение персонажей (перересовка), каждый 20 мили-сек
    screen.fill([255, 255, 255])
    for per1 in bb1: # Цыкл перересовки экрана
        per1.move() # Переещяем персонажа
        screen.blit(per1.image, per1.rect) # Каждый раз отрисовываем персонажа в новом месте
        pygame.display.flip()

Помогите пожалуйста!
 

Вложения

  • Не понимаю элемент.png
    Не понимаю элемент.png
    29,7 КБ · Просмотры: 0
  • Весь код.png
    Весь код.png
    143,9 КБ · Просмотры: 0

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Ты не можешь понять зачем это нужно или как это работает?

P.s. Под постом есть кнопка редактировать, если что-то написал не так, новую тему создавать не обязательно)
 

Форум IT Специалистов