Фон және ойын кейіпкерлері
Анықтама
Экран координаттары: (0; 0) нүктесі — терезенің СОЛ ЖОҒАРҒЫ бұрышы. X оңға қарай, Y — ТӨМЕН қарай өседі (математикадағыға керісінше!).
Анықтама
Спрайт — ойын кейіпкерінің немесе заттың 2D суреті. Суретті жүктеу: img = pygame.image.load("hero.png"); экранға салу: screen.blit(img, (x, y)).
fon = pygame.image.load("fon.png")
hero = pygame.image.load("hero.png")
while running:
...
screen.blit(fon, (0, 0))
screen.blit(hero, (100, 200))
pygame.display.update() Анықтама
blit — бір суретті екіншісінің үстіне «мөрлеу» командасы: screen.blit(сурет, (x, y)) — суреттің СОЛ ЖОҒАРҒЫ бұрышы (x; y) нүктесіне қойылады. Салу РЕТІ маңызды: алдымен фон, үстіне кейіпкер.
Анықтама
Геометриялық фигуралар: pygame.draw.rect(screen, түс, (x, y, ені, биіктігі)) — тіктөртбұрыш; pygame.draw.circle(screen, түс, (x, y), радиус) — шеңбер. Суретсіз-ақ кейіпкер жасауға болады.
| Команда | Қызметі |
pygame.image.load("файл") | Суретті жүктеу |
screen.blit(img, (x, y)) | Суретті (x; y) орнына салу |
pygame.draw.rect(...) | Тіктөртбұрыш салу |
pygame.draw.circle(...) | Шеңбер салу |
img.get_rect() | Суреттің тіктөртбұрышын (шекарасын) алу |
Деңгей: Оңай Координатты тап
Берілді: 800×600 терезе. Кейіпкерді ОҢ ТӨМЕНГІ бұрышқа жақын қою керек.
Табу керек: Қай координат лайық: (700, 500), (0, 0) әлде (700, 50)?
Шешуі:
Оң төмен = үлкен X және үлкен Y (Y төмен қарай өседі!): (700, 500).
Жауабы: (700, 500). (0,0) — сол жоғарғы, (700, 50) — оң жоғарғы.
Деңгей: Орта Салу реті
Берілді: Оқушы алдымен кейіпкерді, СОДАН КЕЙІН фонды салды. Кейіпкер көрінбейді.
Табу керек: Себебі неде?
Шешуі:
blit — қабат-қабат мөрлеу: соңғы салынған сурет үстінде жатады. Фон кейін салынғандықтан, кейіпкердің үстін жауып қалды.
Жауабы: Салу ретін ауыстыру керек: алдымен фон, үстіне кейіпкер.