• Spritlarning boshqa obektlar bilan toqnashuvini aniqlash
  • Klaviatura bosish vaqtini aniqlash




    Download 5,21 Mb.
    Pdf ko'rish
    bet31/79
    Sana19.01.2024
    Hajmi5,21 Mb.
    #141076
    1   ...   27   28   29   30   31   32   33   34   ...   79
    Bog'liq
    Scratch bo\'yicha o\'zbekcha kitob (1)

    Klaviatura bosish vaqtini aniqlash 
    Bo'yoqni qo'llash bilan bog'liq muammolardan biri shundaki, agar 
    siz rasm chizishda xatoga yo'l qo'ysangiz, ekranni tozalash va 
    qaytadan boshlashning imkoni yo'q. Buni 6.3-rasmda ko'rsatilgan 
    sensorli kod bloki yordamida osongina tuzatish mumkin, u ko'rsatilgan 
    tugma bosilganligiga qarab rost yoki noto'g'ri ma'lumotlarni oladi. 
    Ushbu kod blokining ishlashiga misolni ko'rish uchun, keling, oldingi 
    bo'yoq ilovasini bu erda ko'rsatilganidek, dastur sprite-ga tegishli 
    skriptni tahrirlash orqali o'zgartiramiz. 


    Ko'rib turganingizdek, har safar bo'sh joy tugmasi bosilganda sahnani 
    tozalaydigan uchta yangi kod bloki qo'shiladi. 6.4-rasmda bo'yash 
    ilovasining amaldagi misoli ko'rsatilgan. Bu erda dastur Lining ismini 
    sahnaga chizish uchun ishlatiladi. Keyin bo'sh joy bosiladi, sahnani 
    tozalaydi, shundan so'ng daraxtning tasviri chiziladi. 
    Rasm 6.3
    Ushbu sensorli blok foydalanuvchi klaviaturadagi ma'lum bir tugmani 
    bosganini aniqlash uchun ishlatilishi mumkin. 


    Rasm 6.4 
    Bo'yoq ilovasining ushbu takomillashtirilgan versiyasi bo'yash va 
    o'chirish uchun ishlatilishi mumkin. 
    Spritlarning boshqa ob'ektlar bilan to'qnashuvini 
    aniqlash 
    Ko'pgina kompyuter o'yinlari uchun asosiy dasturlash talablaridan biri 
    spraytning boshqa sprayt, ekranning cheti yoki sichqoncha ko'rsatkichi 
    bilan to'qnashuvini aniqlash qobiliyatidir. Scratch 6.6-rasmda 
    ko'rsatilgan uchta kod bloki yordamida to'qnashuvni aniqlashni 
    amalga oshirish imkoniyatini beradi. 6.6-rasmda ko'rsatilgan birinchi 
    kod bloki sprayt belgilangan spraytga, sahna chetiga yoki sichqoncha 
    ko'rsatkichiga qachon tegishini aniqlash uchun ishlatilishi mumkin. 
    Ushbu kod bloki belgilashi mumkin bo'lgan ob'ektlar ro'yxati 
    ochiladigan blok ro'yxatida mavjud. Ushbu kod bloki bilan ishlashga 
    misol sifatida oldingi Scratch ilovasini o'zgartirib, uning skriptini bu 
    erda ko'rsatilganiga almashtiring. 


    Ushbu skript sprayt sahna chetiga tegib ketganini qanday aniqlashni 
    ko'rsatadi. Ushbu skript yashil bayroq tugmasi bosilganda bajariladi va 
    barcha inline kod bloklari bo'ylab takrorlanadigan tsiklni o'rnatish 
    uchun abadiy blokdan foydalanadi. Loop ichida siz sichqonchaning 
    chap tugmachasini bosganingizda inline operatorlarini bajaradigan 
    shartli if blokini topasiz. 
    Rasm 6.6
    Ushbu sensor bloklari to'qnashuvlarni topish uchun ishlatilishi 
    mumkin. 


    Rasm 6.7 Sprite sahna chetiga tegsa, misoldagi matn ko'rsatiladi. 
    Bunday holda, harakat bloki dastur spraytini sahna bo'ylab 
    sichqoncha ko'rsatkichini kuzatishga majbur qilish uchun ishlatiladi. 
    Sensorli kodning ikkinchi bloki sprayt sahnaning chetiga tegishini 
    aniqlash uchun if kodining boshqa shartli blokida ishlatiladi. Bu sodir 
    bo'lganda, ovozli pufakchada matnli xabarni ko'rsatadigan ko'rinish 
    kod bloki bajariladi. 


    6.7-rasmda ushbu yangi skript yordamida dasturni qayta ishga 
    tushirganingizda va sichqoncha ko'rsatgichini sahna chetlaridan biriga 
    olib borganingizda ko'rsatiladigan natija ko'rsatilgan. 
    Keyinchalik, 6.7-rasmda ko'rsatilgan ikkinchi sensor birligi bilan 
    ishlash misolini ko'rib chiqing. Ushbu kod bloki spraytning sahnadagi 
    ma'lum bir rang bilan aloqa qilishini aniqlash uchun ishlatilishi 
    mumkin. 
    Ushbu kod blokining ishlaydigan namunasini ko'rish uchun yangi 
    Scratch ilovasini yarating, so'ngra qizil to'rtburchaklar shaklida yangi 
    sprayt yarating va qo'shing (Paint Editor yordamida), uni sahna 
    markaziga joylashtiring. Keyin, Yangi Sprite oynasini ochib, Fayldan 
    yangi Sprite tanlash tugmasidagi tugmani bosish orqali dasturga 
    ikkinchi spraytni qo'shing. Keyin, Fantasy jildiga o'ting va dragon1-b 
    sprite-ni tanlang va keyin OK tugmasini bosing. Yangi ilovangiz uchun 
    sahna endi 6.8-rasmga o'xshash bo'lishi kerak. 6.8-rasmda 
    ko'rsatilgan misol. 
    6.8-rasm Ushbu qizil kvadrat sahnada ma'lum bir rang bilan 
    to'qnashuv qobiliyatini namoyish qilish uchun ishlatiladi. 


    Keyin dragon sprite-ga tegishli quyidagi skriptni qo'shing. Bajarilganda, 
    bu skript har safar sprayt sahna markazidagi qizil kvadrat bilan aloqa 
    qilganda ovozli faylni ijro etadi. 
    Ta'riflar blokida rang spetsifikatsiyasini to'g'ri o'rnatish uchun siz 
    boshqaruvga o'rnatilgan rangni aniqlash blokini bosishingiz kerakligini 
    unutmang. Bunda kichkina ko'z tomchisi paydo bo'ladi, uni keyin siz 
    aniqlamoqchi bo'lgan rangni o'z ichiga olgan sahnaga o'tishingiz 
    mumkin. Ushbu rangni bosing va Scratch siz bosgan rangga mos 
    keladigan kod blokining rangini avtomatik ravishda o'zgartiradi. 
    Ushbu bosqichda siz hamma narsani sozlashingiz va borishga tayyor 
    bo'lishingiz kerak. Ilovani ishga tushiring, so'ng sichqonchaning chap 
    tugmachasini bosing va ushlab turing, sichqoncha ko'rsatkichini sahna 
    markazidagi qizil to'rtburchak ustiga olib boring va o'ynalayotgan audio 
    faylni tinglang. 


    Oldingi kod blokidan foydalanib, siz dasturni har safar spraytning 
    istalgan qismi sahnadagi ma'lum bir rang bilan aloqa qilganda 
    to'qnashuvni aniqlash uchun sozlashingiz mumkin. 
    Oldingi misolda, bu ajdaho spritening biron bir qismi (boshi, dumi, 
    qanotlari, olov va boshqalar) qizil to'rtburchak sprite bilan aloqa 
    qilganda sodir bo'ladi. 
    Biroq, agar xohlasangiz, to'qnashuv sinovining aniqroq turini yaratish 
    uchun 6.6-rasmda ko'rsatilgan sensorli kodning uchinchi taktikasidan 
    foydalanishingiz mumkin. Xususan, ushbu kod bloki sahnadagi boshqa 
    rang bilan to‘qnashishi uchun sahnadagi boshqa rang bilan to‘qnashishi 
    kerak bo‘lgan sprayt rangini belgilash imkonini beradi. Ushbu kod bloki 
    va kodning oldingi sensor bloki o'rtasidagi farqni yaxshiroq tushunish 
    uchun quyidagi skriptni ko'rib chiqing. 
    Quyidagi skript bu zondlarning ikkinchisidan qanday foydalanishni 
    ko'rsatadi, qachonki spritedagi ma'lum rang sahnada ma'lum bir rang 
    bilan aloqa qilganda audio faylni o'ynatuvchi skript. 


    Ushbu misolda tekshirish kod bloki almashtirildi. Endi to'qnashuv sodir 
    bo'lishi uchun spraytdagi sariq sahnadagi qizil rangga tegishi kerak. 
    Agar oldingi ilovadagi skriptni ushbu skript bilan almashtirsangiz, 6.9-
    rasmda ko'rsatilganidek, to'qnashuv faqat ajdahoning og'zidan chiqqan 
    sariq olov qizil to'rtburchakning spriteiga tegsa sodir bo'ladi. 6.9-rasm 

    Download 5,21 Mb.
    1   ...   27   28   29   30   31   32   33   34   ...   79




    Download 5,21 Mb.
    Pdf ko'rish