Загрузка...

Почему игрок спавнится под картой

Тема в разделе Python создана пользователем ReaZzy_ 20 ноя 2019. (поднята 20 ноя 2019) 174 просмотра

Загрузка...
  1. ReaZzy_
    ReaZzy_ Автор темы 20 ноя 2019 Аватарки на мой вкус - /threads/1481831/ 90 12 июн 2018
    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)
     
Top