http://prntscr.com/pzr5ji Нужно немного взлететь import pygame class Ship(): def __init__(self, game_settings, screen): #Визначаэ початкову позицію self.screen = screen self.game_settings = game_settings #HitBox self.image = pygame.image.load('images/ship.bmp') self.rect = self.image.get_rect() self.screen_rect = screen.get_rect() #Появлення на одному й тому самому місці self.rect.centerx = self.screen_rect.centerx self.rect.bottom = self.screen_rect.bottom #Сохраняє координати self.x = float(self.screen_rect.centerx) self.y = float(self.screen_rect.y) #Переміщення self.moving_right = False self.moving_left = False self.moving_top = False self.moving_down = False def center_ship(self): self.x = self.screen_rect.centerx self.y = self.screen_rect.bottom def update(self): """Обновляє поки зажата пкм""" #Обновляє center а не rect if self.moving_right and self.rect.right < self.screen_rect.right: self.x += self.game_settings.ship_speed if self.moving_left and self.rect.left > 0: self.x -= self.game_settings.ship_speed if self.moving_down and self.rect.bottom < self.screen_rect.bottom: self.y += self.game_settings.ship_speed if self.moving_top and self.rect.top > self.screen_rect.top: self.y -= self.game_settings.ship_speed self.rect.x = self.x self.rect.y = self.y def blitme(self): self.screen.blit(self.image, self.rect) Code import pygame class Ship(): def __init__(self, game_settings, screen): #Визначаэ початкову позицію self.screen = screen self.game_settings = game_settings #HitBox self.image = pygame.image.load('images/ship.bmp') self.rect = self.image.get_rect() self.screen_rect = screen.get_rect() #Появлення на одному й тому самому місці self.rect.centerx = self.screen_rect.centerx self.rect.bottom = self.screen_rect.bottom #Сохраняє координати self.x = float(self.screen_rect.centerx) self.y = float(self.screen_rect.y) #Переміщення self.moving_right = False self.moving_left = False self.moving_top = False self.moving_down = False def center_ship(self): self.x = self.screen_rect.centerx self.y = self.screen_rect.bottom def update(self): """Обновляє поки зажата пкм""" #Обновляє center а не rect if self.moving_right and self.rect.right < self.screen_rect.right: self.x += self.game_settings.ship_speed if self.moving_left and self.rect.left > 0: self.x -= self.game_settings.ship_speed if self.moving_down and self.rect.bottom < self.screen_rect.bottom: self.y += self.game_settings.ship_speed if self.moving_top and self.rect.top > self.screen_rect.top: self.y -= self.game_settings.ship_speed self.rect.x = self.x self.rect.y = self.y def blitme(self): self.screen.blit(self.image, self.rect)