• Spraytlarni harakatlantirish
  • V BOB.  WWW-TEXNOLOGIYA VA HTML TILI




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

    V BOB. 
    WWW-TEXNOLOGIYA VA HTML TILI
     
    Misol.
    Yangi sprayt yaratilib, uni gorizontal bo‘yicha o‘ng tomonga harakatlantirish 
    dasturi tuzilsin.
    Har bir spraytni joylashtirish uchun uning 2 ta parametriga qiymat beriladi: rect.x va rect.y. 
    rect.x – spraytning gorizontal joylashuvi, rect.y esa vertikal joylashuvi. Spraytni gorizontal 
    yo‘nalish bo‘ylab harakatlantirish uchun uning rect.x qiymatini oshirish yoki kamaytirish 
    zarur. Agar vertikal yo‘nalish bo‘ylab harakatlantirish zarur bo‘lsa, u holda rect.y ning qiymati 
    oshiriladi yoki kamaytiriladi. 
    O‘yin siklida update() funksiyasi mavjud. Pygame moduli spraytlar guruhidagi har bir sprayt 
    uchun update() funksiyasini qidiradi va ishga tushiradi. Spraytning rect.x va rect.y qiymatlari 
    yangilanganidan so‘ng, uning yangi joylashuvi update() funksiyasi yordamida namoyish 
    etiladi.
    Spraytlarni harakatlantirish
    def __init__(self):
    init funksiyasi ishga tushdi.
    pygame.sprite.Sprite.__init__(self)
    “Self” parametriga “Sprite “sinfi 
    funksiyalari biriktirildi.
    self.image = player_img
    Spraytga rasm yuklandi.
    self.rect = self.image.get_rect()
    Sprayt qobig‘i belgilandi.
    self.rect.center = (WIDTH / 2, HEIGHT / 2)
    Sprayt oyna markaziga joylashtirildi.
    Dastur ishga tushirilgach, mashina 
    sprayti qora fonli oyna markaziga 
    joylashtiriladi.
    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.


    171
    171
    171
    171
    Spraytlarni harakatlantirishda yana bir muhim 
    jihat – uning tezligi. O‘yin juda sekin yoki 
    tez bo‘lmasligi lozim. Shuningdek, o‘yin turli 
    kompyuterlarda bir xil tezlikda ishlashi zarur. Agar 
    sprayt ekranni kesib o‘tishi uchun 10 sekund kerak 
    bo‘lsa, ushbu 10 sekund barcha kompyuterlar uchun 
    bir xil bo‘lishi kerak. Buning uchun pygame.time.Clock() modulidan foydalaniladi. Tezlikni 

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




    Download 27,94 Mb.
    Pdf ko'rish