Артқы фон мен ойын кейіпкерлері




1 слайд
Артқы фон мен
ойын кейіпкерлері Сабақтың тақырыбы:
1 слайд
Артқы фон мен ойын кейіпкерлері Сабақтың тақырыбы:

2 слайд
Сабатың мақсаты:
•
9.3.3.5 ойынның артқы фонын құру
•
9.3.3.6 ойынға арналған дайын кейіпкерлер
жүктеу
2 слайд
Сабатың мақсаты: • 9.3.3.5 ойынның артқы фонын құру • 9.3.3.6 ойынға арналған дайын кейіпкерлер жүктеу

3 слайд
Өткен тақырыптан сұрақтар.
•
Python -дағы кітапхана,модуль дегеніміз не?
• PyGame модульдерінің типтері қандай?
• Р yGame модульдері қалай тағайындалады?
3 слайд
Өткен тақырыптан сұрақтар. • Python -дағы кітапхана,модуль дегеніміз не? • PyGame модульдерінің типтері қандай? • Р yGame модульдері қалай тағайындалады?

4 слайд
Сөздікпен жұмыс
Экран Экран Screen
Режим
қою Создать режим Setmode
Шығу
Выход Quit
Толтыру
Заполнить Fill
Түс–Цвет
Color
Фон
Фон Background
4 слайд
Сөздікпен жұмыс Экран Экран Screen Режим қою Создать режим Setmode Шығу Выход Quit Толтыру Заполнить Fill Түс–Цвет Color Фон Фон Background

5 слайд
Бұл сабақта ойынның артқы фонын жасауды қарастырайық. Артқы фон жасау
үшін фонды кез келген түспен толтыруға немесе суретті жүктеуге
болатынын білеміз. Мысалы, фонды қандай да бір түске толтыру үшін
мынадай функция қолданылады:
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")
5 слайд
Бұл сабақта ойынның артқы фонын жасауды қарастырайық. Артқы фон жасау үшін фонды кез келген түспен толтыруға немесе суретті жүктеуге болатынын білеміз. Мысалы, фонды қандай да бір түске толтыру үшін мынадай функция қолданылады: 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")

6 слайд
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()
Біздің ойынның артқы фоны бір келкі жасыл түсті болады. Ол үшін өлшемі 600 x500- ден
кем емес жасыл сурет қажет. Листингте оған background_image атауын бердік. Бұл
суретті жүктеу үшін pygame модулін қолданамыз. pygame.image суреттерді тасымал
дауға арналған. Атап айтқанда, pygame.image.load(filename) файлдан жаңа суретті
жүктейді. PyGame автоматты түрде типін анықтайды және деректерден жаңа Surface
нысанын жасайды.
Қайтарылатын қабат (бет) ол алынған файл сияқты түс пішімін, түс кілтін және
альфа-мөлдірлікті қамтиды. Экранда жылдам сызылатын көшірмені жасау үшін
аргументсіз convert() функция сы пайда болады. Convert () pygame түрлендіру үшін
қолданылады. Surface бірдей пиксель форматы, pygame.display.set_mode ()- тан
құрылды. Егер сендер оны шақырмасаңдар, онда әр
жолы процесті баяулататын пиксельді түрлендіру қажет болады
(34-су рет).
6 слайд
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() Біздің ойынның артқы фоны бір келкі жасыл түсті болады. Ол үшін өлшемі 600 x500- ден кем емес жасыл сурет қажет. Листингте оған background_image атауын бердік. Бұл суретті жүктеу үшін pygame модулін қолданамыз. pygame.image суреттерді тасымал дауға арналған. Атап айтқанда, pygame.image.load(filename) файлдан жаңа суретті жүктейді. PyGame автоматты түрде типін анықтайды және деректерден жаңа Surface нысанын жасайды. Қайтарылатын қабат (бет) ол алынған файл сияқты түс пішімін, түс кілтін және альфа-мөлдірлікті қамтиды. Экранда жылдам сызылатын көшірмені жасау үшін аргументсіз convert() функция сы пайда болады. Convert () pygame түрлендіру үшін қолданылады. Surface бірдей пиксель форматы, pygame.display.set_mode ()- тан құрылды. Егер сендер оны шақырмасаңдар, онда әр жолы процесті баяулататын пиксельді түрлендіру қажет болады (34-су рет).

7 слайд
7 слайд

8 слайд
Ойынның артқы қабатына кез келген суретті орнатуға болады.
Surface нысандары үшін fill () әдісі:
# бе ті не ақ фонды салу
windowSurface.fill (WHITE)
Біз windowSurface сақталған барлық бетті ақ түс пен толтырғымыз келеді.
Fill () функциясы параметр ретінде берілетін Surface бетін түспен толық
жабады.
Fill () әдісін немесе кез келген басқа сурет функциясын шақырғанда, PyGame
экранындағы терезе өзгермейтініне назар аударыңдар. Олар Surface
нысанын өзгертеді. PyGame функциясы арқылы экранда жаңа Surface
нысанын көрсету үшін, display.update () қолдану керек.Компьютердегі
Surface нысанын өзгерту, экран да ғы суретті өзгертуден әлдеқайда жылдамы
ақ болады. Сондықтан суреттің барлық функиялары Surface нысанында
салынғаннан кейін ғана экранда сурет салу әлдеқайда тиімді.
Fill () әдісі – функция емес, pygame.Surface нысанда-ры ның әдісі.
Ол түс параметрі үшін берілетін кез келген түс мәнімен барлық Surface
нысанын толық толтырады.
Кітап ханамен жұмыс істеуді жақсы түсіну үшін төмендегі қарапайым
кодты қарастыруды ұсынамыз. Бұл кезеңде жалпы мақсаттар үшін осы кодты
іске қосып, алынған нәтижені талдап көрейік. Төменде кодтың жалпы
түсіндірмесі берілген.
8 слайд
Ойынның артқы қабатына кез келген суретті орнатуға болады. Surface нысандары үшін fill () әдісі: # бе ті не ақ фонды салу windowSurface.fill (WHITE) Біз windowSurface сақталған барлық бетті ақ түс пен толтырғымыз келеді. Fill () функциясы параметр ретінде берілетін Surface бетін түспен толық жабады. Fill () әдісін немесе кез келген басқа сурет функциясын шақырғанда, PyGame экранындағы терезе өзгермейтініне назар аударыңдар. Олар Surface нысанын өзгертеді. PyGame функциясы арқылы экранда жаңа Surface нысанын көрсету үшін, display.update () қолдану керек.Компьютердегі Surface нысанын өзгерту, экран да ғы суретті өзгертуден әлдеқайда жылдамы ақ болады. Сондықтан суреттің барлық функиялары Surface нысанында салынғаннан кейін ғана экранда сурет салу әлдеқайда тиімді. Fill () әдісі – функция емес, pygame.Surface нысанда-ры ның әдісі. Ол түс параметрі үшін берілетін кез келген түс мәнімен барлық Surface нысанын толық толтырады. Кітап ханамен жұмыс істеуді жақсы түсіну үшін төмендегі қарапайым кодты қарастыруды ұсынамыз. Бұл кезеңде жалпы мақсаттар үшін осы кодты іске қосып, алынған нәтижені талдап көрейік. Төменде кодтың жалпы түсіндірмесі берілген.

9 слайд
Прог рам ма лис тин гі 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()
9 слайд
Прог рам ма лис тин гі 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()

10 слайд
Берілген мысалды іске қосу үшін бізге екі
кескін керек: біреуі фон ретін де, ал екіншісі сурет
салудағы тінтуірдің меңзері ретінде. Бұл жағдайда
фон – тарелка суреті, тінтуірдің қозғалысынан кейінгі
меңзер – алма бейнесі. Листингтің екінші жолы
кескінді сипаттайды.
Ал 3–6-жолдары import pygame импорттайды және
pygame.init () модулінің қажетті бөлігін баптайды.
Инициализациядан кейін терезені құру қажет. 7–8-
жолда терезе өлшемі беріледі. Листингтің алғашқы
екі жолы сурет деректерін орнатады. 9–10-жолда
өлшемі 640х480 болатын терезе жасалады. Терезенің
атауы– “ Hello, world!”.
10 слайд
Берілген мысалды іске қосу үшін бізге екі кескін керек: біреуі фон ретін де, ал екіншісі сурет салудағы тінтуірдің меңзері ретінде. Бұл жағдайда фон – тарелка суреті, тінтуірдің қозғалысынан кейінгі меңзер – алма бейнесі. Листингтің екінші жолы кескінді сипаттайды. Ал 3–6-жолдары import pygame импорттайды және pygame.init () модулінің қажетті бөлігін баптайды. Инициализациядан кейін терезені құру қажет. 7–8- жолда терезе өлшемі беріледі. Листингтің алғашқы екі жолы сурет деректерін орнатады. 9–10-жолда өлшемі 640х480 болатын терезе жасалады. Терезенің атауы– “ Hello, world!”.

11 слайд
Сонымен қатар load () функциясы фонға және тінтуірге кес-
кінді жүктеу үшін пайдаланылады:
background = pygame.image.load(background_image).convert()
mouse_cursor=pygame.image.load(mouse_image).
convert_alpha()
Кескінді тінтуір меңзері мен жылжыту үшін бастапқы
координаталарын жойып, соңғы деректерді есептейміз:
x, y = pygame.mouse.get_pos()
x-= mouse_cursor.get_width() / 2
y-= mouse_cursor.get_height() / 2
screen.blit(mouse_cursor, (x, y))
Сондай-ақ screen.blit() функциясын қолданамыз.
Соңында жаңа суретті алу үшін экранды жаңартыңдар.
pygame.display.update()
11 слайд
Сонымен қатар load () функциясы фонға және тінтуірге кес- кінді жүктеу үшін пайдаланылады: background = pygame.image.load(background_image).convert() mouse_cursor=pygame.image.load(mouse_image). convert_alpha() Кескінді тінтуір меңзері мен жылжыту үшін бастапқы координаталарын жойып, соңғы деректерді есептейміз: x, y = pygame.mouse.get_pos() x-= mouse_cursor.get_width() / 2 y-= mouse_cursor.get_height() / 2 screen.blit(mouse_cursor, (x, y)) Сондай-ақ screen.blit() функциясын қолданамыз. Соңында жаңа суретті алу үшін экранды жаңартыңдар. pygame.display.update()

12 слайд
Pygame.draw. негізі кескіндерді сызу.
Әр команданың қызметін жазып шығу.
Қызметтері Сипаттамалары
pygame.draw.rect
pygame.draw.polygon
pygame.draw.circle
pygame.draw.ellipse
pygame.draw.arc
pygame.draw.line
pygame.draw.lines
pygame.draw.aaline
pygame.draw.aalines
12 слайд
Pygame.draw. негізі кескіндерді сызу. Әр команданың қызметін жазып шығу. Қызметтері Сипаттамалары pygame.draw.rect pygame.draw.polygon pygame.draw.circle pygame.draw.ellipse pygame.draw.arc pygame.draw.line pygame.draw.lines pygame.draw.aaline pygame.draw.aalines

13 слайд
BLACK WHITE RED GREEN
BLUE CYAN MAGENTA YELLOW(0, 0, 0)
(255, 255, 255) (255, 0, 0) (0, 255, 0)
(0, 0, 255)(0, 255, 255) (255, 0, 255)
(255, 255, 0)Pygame- де қолдланылатын түстердің дұрыс кодын тауып,
сәйкестендір
13 слайд
BLACK WHITE RED GREEN BLUE CYAN MAGENTA YELLOW(0, 0, 0) (255, 255, 255) (255, 0, 0) (0, 255, 0) (0, 0, 255)(0, 255, 255) (255, 0, 255) (255, 255, 0)Pygame- де қолдланылатын түстердің дұрыс кодын тауып, сәйкестендір

14 слайд
Үй тапсырмасы.
1.Ойынның артқы фонын толтыру қалай жүзеге
асырылады?
2. Ойынның фонына кескіндерді жүктеу тәртібін
сипаттаңдар.
3. Fill () әдісін пайдаланғанда терезе өлшемі
өзгереме?
14 слайд
Үй тапсырмасы. 1.Ойынның артқы фонын толтыру қалай жүзеге асырылады? 2. Ойынның фонына кескіндерді жүктеу тәртібін сипаттаңдар. 3. Fill () әдісін пайдаланғанда терезе өлшемі өзгереме?