Harakat tezligini sozlash




Download 27,94 Mb.
Pdf ko'rish
bet123/153
Sana19.05.2024
Hajmi27,94 Mb.
#244031
1   ...   119   120   121   122   123   124   125   126   ...   153
Bog'liq
10-sinf yangi

Harakat tezligini sozlash
Dastur ishga tushirilgach, oyna markazida yashil rangli sprayt paydo bo‘ladi va o‘ng tomonga 
harakatlana boshlaydi. Sprayt oyna oxiriga yetib borgach, qayta oyna markazida paydo 
bo‘ladi va o‘ng tomonga harakatlanadi. Ushbu sikl to‘xtovsiz ravishda davom etadi. 
Spraytning oyna markazidan o‘ng tomon harakatlanib, oyna oxirigacha yetib borgach, yana 
qayta oyna markazida paydo bo‘lib qolishi biroz mantiqqa to‘g‘ri kelmaydi. Sprayt harakatini 
chiroyliroq chiqarish maqsadida u oynaning o‘ng tomoniga yetib borgach, uning qayta 
joylashuvini oynaning chap boshiga o‘zgartirish zarur. Buning uchun rect funksiyasining 
quyidagi rasmda keltirilgan xossalaridan foydalaniladi:
Sprayt o‘yin oynasida chap tomondan o‘ng tomonga uzluksiz 
harakatlanishini ta’minlash uchun update() funksiyasi tanasiga 
shart amali qo‘shiladi. Ya’ni spraytning rect.left xossasi oynaning 
kengligidan oshib ketsa, u holda spraytning rect.right xossasiga 0 
qiymati beriladi. 
 
Misol.
Yangi sprayt yaratilib, uni gorizontal bo‘yicha chapdan o‘ng tomonga uzluksiz 
harakatlantirish dasturi tuzilsin.
class Player(pygame.sprite.Sprite):
Sinf e’lon qilindi.
def __init__(self):
init funksiyasi ishga tushdi.
pygame.sprite.Sprite.__init__(self)
“Self” parametriga “Sprite” sinfi 
funksiyalari biriktirildi.
self.image = pygame.Surface((50, 50))
Sprayt o‘lchamlari berildi.
self.image.fill(GREEN)
Sprayt rangi berildi.
self.rect = self.image.get_rect()
Sprayt qobig‘i yaratildi.
self.rect.center = (WIDTH / 2, HEIGHT / 2)
Sprayt oyna markaziga joylashtirildi.
def update(self):
update funksiyasi e’lon qilindi.
self.rect.x += 5
rect.x parametri 5 ga oshirildi.
if self.rect.left > WIDTH:
Spraytning chap qirrasi oyna enidan 
katta ekanligi tekshirildi.
self.rect.right = 0
Shart rost bo‘lsa, spraytning o‘ng qirrasi 
qiymatiga 0 o‘zlashtirildi.

Download 27,94 Mb.
1   ...   119   120   121   122   123   124   125   126   ...   153




Download 27,94 Mb.
Pdf ko'rish