Себебінанықтайық
1. Не лік тен
fill (color)
функция емес, PyGame әді сі бо-
лып та бы ла ды?
2. Surface ны сан да ры үшін
fill ()
әді сі нің ма ңыз ды лы ғы
не де?
Талдап,салыстырайық
Артқы фонды толтыру ерекшеліктерін салыстырып,
талдау жасаңдар:
1) түспен;
2) суретпен.
Сұрақтарғажауапберейік
Ойланайық,талқылайық
Талдап,салыстырайық
АРМАН
-
ПВ
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17
мая
2019
года
№
217
144
Дәптергеорындайық
Қа рас ты рыл ған әдіс тер мен кел ті ріл ген ке ңес тер ді
дәптерлеріңе жазыңдар.
Компьютердеорындайық
1.
Pygame.display
мо ду лін де
set_caption ()
функция сы
бар. Те ре зе нің та қы ры бы ре тін де бел гі ле не тін жол бе рі-
ле ді. Те ре зе нің атауын әр се кунд сай ын өз ге ре тін дей жа-
саң дар.
2. CD дискіден осы тақырыпқа сәйкес тапсырманы
орындаңдар.
Ойбөлісейік
Сабақта жаңа не үйрендіңдер? Өз сыныптастарыңмен
ойынның артқы фоны үшін суретті жүктеудің маңыз-
дылығы туралы талқылаңдар.
Үйтапсырмасы
Ойынның фоны қызықты болу үшін, түсқағаз ретінде
түрлі кескіндерді қолданыңдар. Фон дық түс қа ғаздың бір-
не ше нұсқасын жа саң дар жә не фон су ре тін өз гер тің дер.
Дәптергеорындайық
Компьютердеорындайық
Ойбөлісейік
Үйтапсырмасы
АРМАН
-
ПВ
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17
мая
2019
года
№
217
145
§ 30. Кейіпкерлерді анимациялау. Спр айт тар ды
жа сау. Ой ын ға дай ын кейіп кер лер ді жүк теу
Спр айт
– ой ын да ғы гра фи ка лық ны сан дар, кө бі не се кейіп-
кер лер. Әдетте спрайттардың программалық кодтағы графи-
калық примитивтер сияқты суреті салынбайды, олар алдын ала
жасалады (яғ ни ой ын ды іс ке қо су ке зін де гі дай ын су рет). Оларды
бір тұтас экран ретінде манипуляциялауға және жылжытуға
болады.
Спр айт әр түр лі си пат та ры жә не әдіс тері бар ны сан
ре тін де қа рас ты ры ла ды (
мы са лы:
ені, биік ті гі, тү сі, т.б.).
Ой ын ның бас ты кла сы нан бас тай ық (оны Game деп атай мыз),
ол бас қа код ты бас қа ра ды. Game кла сын да
__init__
ой ын ды бас тау
функциясы, сон дай-ақ ой ын ани ма циясы ның бас ты цик лі бо ла ды.
Мы сал үшін қа ра пай ым жа рыс ойы нын кө рейік.
Ой ын шы кө лік ті ба қы лап, сол ға жә не оң ға қа рай жыл жуы
мүм кін. Сон дай-ақ жо ға ры жә не тө мен пер не лер дің кө ме гі мен
жыл дам ырақ жә не баяу жүре алады.
Car.py
кла сын құ рың дар. Бұл класс
кө ліктің
си пат та ма сын
ұсы на ды. Ол РyGame-дегі Sprite кла сы нан шық қан. Кө лік ті біз
тік төртбұ рыш ре тін де са ла мыз.
image.load()
функция сын
пай да ла на оты рып, кө лік тің су ре тін жүк теуге де бо ла ды.
import pygame
WHITE = (255, 255, 255)
class Car(pygame.sprite.Sprite):
def __init__(self, color, width, height):
super().__init__()
Естеріңетүсіріңдер:
• арт қы фон ды түс пен қа лай тол ты ру
ке рек?
• кескін ді арт қы фонға қа лай жүк теуге
бо ла ды?
Меңгерілетінбілім:
• спр айт тар ды жа сау;
• ой ын ға дайын кейіп кер ді жүк теу;
•
ойын жасауға арналған программаны жазу.
АРМАН'>Класс
–Класс–
Class
Уақыт
–Время–
Time
Көлік
–Автомобиль–
Car
АРМАН
-
ПВ
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17
мая
2019
года
№
217
146
self.image = pygame.Surface([width, height])
self.image.fill(WHITE)
self.image.set_colorkey(WHITE)
pygame.draw.rect(self.image, color, [0, 0,
width, height])
self.rect = self.image.get_rect()
600х500 өл ше мін де те ре зе жа саң дар. «My First Game»
атауын бе рің дер. Фон дық су рет ке жа сыл фон ды жүк тең дер.
20x30 өл шем ді мәшине ні са лып, коор ди на та лар ды (200;
450) қой ың дар. Бас тап қы коор ди на та лар ы (100, 0) белгілеп,
200х450 өл шем ді жол сы зың дар. Сон дай-ақ жол дың ор та сы на
бө лу жо ла ғын қо сың дар.
myFirstGame.py
лис тин гі мен нә ти же сі (
36-су рет)
:
background_image = 'green.jpg'
import pygame, random
from Car import Car
from pygame.locals import *
from sys import exit
pygame.init()
RED = (255, 0, 0)
GREEN = (20, 255, 140)
GREY = (210, 210, 210)
screen = pygame.display.set_mode((400,500), 0, 32)
pygame.display.set_caption("My First Game")
background = pygame.image.load(background_image).
convert()
cars_list = pygame.sprite.Group()
playerCar = Car(RED, 20, 30)
playerCar.rect.x = 200
playerCar.rect.y = 450
cars_list.add(playerCar)
АРМАН
-
ПВ
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17
мая
2019
года
№
217
147
check = True
clock=pygame.time.Clock()
while check:
for event in pygame.event.get():
if event.type == pygame.QUIT:
check=False
#Эк ран да са ла мыз
screen.fill(GREEN)
#Жол ды са ла мыз
pygame.draw.rect(screen,
GREY,
[100,0,
200,450])
#Draw Line painting on the road
pygame.draw.line(screen,
WHITE,
[200,0],
[200,450], 5)
cars_list.draw(screen)
#Эк ран ды жа ңар ту
pygame.display.flip()
clock.tick(60)
pygame.quit()
36-су рет.
Прог рам ма нә ти же сі
АРМАН
-
ПВ
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17
мая
2019
года
№
217
148
Жауапберейік
1. Спрайт қайда қолданылады?
2. Фонға кейіпкер қою қалай жүзеге асырылады?
3. РyGame-дегі Sprite кла сы қан дай мақсатта қолданылады?
Себебінанықтайық
1. Ойын құру барысында фон ға кейіп кер ді қоюдың қа-
жеттілігі қандай?
2. Game кла сын да
__init__
ой ын ды бас тау функциясы не
үшін ма ңыз ды?
Талдап,салыстырайық
1. Ойынға спрайт арқылы кейіпкер қосудың тиімділігі
неде?
2. Жасалып жатқан ой ын ға дай ын кейіп кер қою жұ мы-
сы на ар нал ған прог рам ма ның ар тық шы лық та ры мен
кем ші лік те рін тал даң дар.
Дәптергеорындайық
Қа ра пай ым жа рыс ой ыны ның ал го рит мін дәп тер ге
жазың дар.
Компьютердеорындайық
PyGame ани ма циясы ның үлгісін прог рам ма ға жа зың-
дар. Нә ти же ні тал даң дар.
import sys, pygame
pygame.init()
size = [600, 500]
speed = [0, 2]
white = (255, 255, 255)
screen = pygame.display.set_mode(size)
ball = pygame.image.load("ball.bmp")
ballrect = ball.get_rect()
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.
exit()
Сұрақтарғажауапберейік
Ойланайық,талқылайық
Талдап,салыстырайық
Дәптергеорындайық
Компьютердеорындайық
АРМАН
-
ПВ
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17
мая
2019
года
№
217
149
ballrect = ballrect.move(speed)
if ballrect.left < 0 or ballrect.right >
width:
speed[0] = -speed[0]
if ballrect.top < 0 or ballrect.bottom > height:
speed[1] = -speed[1]
screen.fill(white)
screen.blit(ball, ballrect)
pygame.display.flip()
Ойбөлісейік
Са бақ та не үй рен дің дер? Сыныптастарыңмен жаңа
сабақта өткендеріңді күнделікті өмірде қалай қолдануға
болатынын талқылаңдар. Мысал келтіріңдер.
Үйтапсырмасы
pygame.time.clock
ар қы лы түс те рін өз гер тіп тұ ра тын
бағ дар шам жа саң дар.
Ойбөлісейік
Үйтапсырмасы
АРМАН
-
ПВ
баспасы
Все
учебники
Казахстана
на
OKULYK.KZ
*
Книга
предоставлена
исключительно
в
образовательных
целях
согласно
Приказа
Министра
образования
и
науки
Республики
Казахстан
от
17
мая
2019
года
№
217
150
Достарыңызбен бөлісу: |