•PyGame модульдерінің типтері қандай?
•РyGame модульдері қалай тағайындалады?
Сөздікпен жұмыс ЭкранЭкранScreen
Режимқою СоздатьрежимSetmode
Шығу ВыходQuit
Толтыру ЗаполнитьFill
Түс–ЦветColor
ФонФонBackground
Бұл сабақта ойынның артқы фонын жасауды қарастырайық. Артқы фон жасау үшін фонды кез келген түспен толтыруға немесе суретті жүктеуге болатынын білеміз. Мысалы, фонды қандай да бір түске толтыру үшін мынадай функция қолданылады:
pygame.Surface.fill(color, rect=None, special_flags = 0)Функция бетті тұтас түспен толтыруға мүмкіндік береді. Егер rect үшін тікелей аргумент орнатылмаса, барлық беті толтырылады. Rect аргументі белгілі бір аймаққа толтыруды шектейді. Толтыру, сондай-ақ бетті кесу аймағында болады.
Color аргументі RGB, RGBA дәйекті немесе түс индексі болуы мүмкін.
PyGame-нің нысаны Surface суреттерді көрсету үшін қолданылатынын еске түсіріңдер.Суретті артқы фонға жүктеу үлгісі:
background_image = 'green.jpg'
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((600,500), 0, 32)
pygame.display.set_caption ("My First Game")
background = pygame.image.load(background_image).
convert()
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
screen.blit(background, (0,0))
pygame.display.update()
Біздің ойынның артқы фоны бір келкі жасыл түсті болады. Ол үшін өлшемі 600x500-ден кем емес жасыл сурет қажет. Листингте оған background_image атауын бердік. Бұл суретті жүктеу үшін pygame модулін қолданамыз. pygame.image суреттерді тасымал дауға арналған. Атап айтқанда, pygame.image.load(filename)файлдан жаңа суретті жүктейді. PyGame автоматты түрде типін анықтайды және деректерден жаңа Surface
нысанын жасайды.
Қайтарылатын қабат (бет) ол алынған файл сияқты түс пішімін, түс кілтін және альфа-мөлдірлікті қамтиды. Экранда жылдам сызылатын көшірмені жасау үшін аргументсіз convert() функция сы пайда болады. Convert () pygame түрлендіру үшін қолданылады. Surface бірдей пиксель форматы, pygame.display.set_mode ()-тан құрылды. Егер сендер оны шақырмасаңдар, онда әр
жолы процесті баяулататын пиксельді түрлендіру қажет болады
(34-су рет).
Ойынның артқы қабатына кез келген суретті орнатуға болады.
Surface нысандары үшін fill () әдісі:
# бе ті не ақ фонды салу
windowSurface.fill (WHITE)
Біз windowSurface сақталған барлық бетті ақ түс пен толтырғымыз келеді.
Fill () функциясы параметр ретінде берілетін Surface бетін түспен толық жабады.
Fill ()әдісін немесе кез келген басқа сурет функциясын шақырғанда, PyGame экранындағы терезе өзгермейтініне назар аударыңдар. Олар Surface нысанын өзгертеді. PyGame функциясы арқылы экранда жаңа Surface нысанын көрсету үшін, display.update () қолдану керек.Компьютердегі Surface нысанын өзгерту, экран да ғы суретті өзгертуден әлдеқайда жылдамы ақ болады. Сондықтан суреттің барлық функиялары Surface нысанында салынғаннан кейін ғана экранда сурет салу әлдеқайда тиімді.
Fill () әдісі – функция емес, pygame.Surface нысанда-ры ның әдісі.
Ол түс параметрі үшін берілетін кез келген түс мәнімен барлық Surface нысанын толық толтырады.
Кітап ханамен жұмыс істеуді жақсы түсіну үшін төмендегі қарапайым кодты қарастыруды ұсынамыз. Бұл кезеңде жалпы мақсаттар үшін осы кодты іске қосып, алынған нәтижені талдап көрейік. Төменде кодтың жалпы түсіндірмесі берілген.
Прог рам ма лис тин гі Hello World.py:
background_image = 'plate.png'
mouse_image = 'apple.jpg'
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((640,480), 0, 32)
pygame.display.set_caption("Hello, World!")
background = pygame.image.load(background_image).
convert()
mouse_cursor = pygame.image.load(mouse_image).
convert_alpha()
while True:
for event in pygame.event.get():
if event.type == QUIT:
screen.blit(background, (0,0))
x, y = pygame.mouse.get_pos()
x-= mouse_cursor.get_width() / 2
y-= mouse_cursor.get_height() / 2
screen.blit(mouse_cursor, (x, y))
pygame.display.update()