Книга «Изучаем Python»



Pdf көрінісі
бет123/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   119   120   121   122   123   124   125   126   ...   238
Байланысты:
2 5343781172763690906

ПРИМЕЧАНИЕ

В Pygame начало координат (0, 0) находится в левом верхнем углу экрана, а оси направлены сверху 

вниз и слева направо . На экране с размерами 1200 на 800 начало координат располагается в левом 

верхнем углу, а правый нижний угол имеет координаты (1200, 800) .

Корабль будет расположен в середине нижней стороны экрана. Для этого мы сна-

чала сохраняем прямоугольник экрана в 

self.screen_rect

 , а затем присваиваем 

self.rect.centerx

 (координата x центра корабля) значение атрибута 

centerx

 пря-


моугольника экрана . Атрибуту 

self.rect.bottom

 (координата y низа корабля) 

присваивается значение атрибута 

bottom

 прямоугольника экрана. Pygame исполь-



зует эти атрибуты 

rect


 для позиционирования изображения, чтобы корабль был 

выровнен по центру, а его нижний край совпадал с нижним краем экрана.

В точке  определяется метод 

blitme()


, который выводит изображение на экран 

в позиции, заданной 

self.rect

.

Вывод корабля на экран



Изменим программу 

alien_invasion .py

, чтобы в ней создавался корабль (экземпляр 

Ship


) и вызывался метод 

blitme()


 класса 

Ship


:

alien_invasion.py

...


from settings import Settings

from ship import Ship

def run_game():

...


pygame.display.set_caption("Alien Invasion")

    # Создание корабля.

    ship = Ship(screen)



# Start the main loop for the game.

while True:

...

# При каждом проходе цикла перерисовывается экран.



screen.fill(ai_settings.bg_color)

        ship.blitme()



                

# Отображение последнего прорисованного экрана.

pygame.display.flip()

run_game()

После создания экрана программа импортирует класс 

Ship


 и создает его экземпляр 

(с именем 

ship

). Это должно происходить до начала основного цикла 



while

 , 


чтобы при каждом проходе цикла не создавался новый экземпляр корабля. Чтобы 

перерисовать корабль на экране, мы вызываем 

ship.blitme()

 после заполнения 

фона, так что корабль выводится поверх фона .

Если вы запустите 

alien_invasion .py

 сейчас, вы увидите пустой игровой экран, в цен-

тре нижней стороны которого находится корабль (рис. 12.2).





Достарыңызбен бөлісу:
1   ...   119   120   121   122   123   124   125   126   ...   238




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет