În tutorialul anterior, ați continuat să lucrați la un proiect pentru a face un crab să urmărească o pisică în jurul ecranului, adăugând o limită de timp și ținând un scor.
În această parte vom continua să lucrăm la acest proiect. Vom adăuga un eveniment difuzat și îl vom folosi pentru a declanșa scripturi pentru alte sprite. Apoi vom ascunde majoritatea sprites atunci când jocul se termină și va afișa scorul final.
Pentru a finaliza acest tutorial, veți avea nevoie de:
Vom lucra cu proiectul creat în partea anterioară a acestei serii. Vom folosi activele și scenariile pe care le-am creat până acum și vom adăuga mai multe.
În funcție de faptul dacă ați lucrat împreună cu acest tutorial, există două modalități de a începe acest tutorial:
Alternativ, puteți continua să lucrați în același proiect pe care l-ați creat deja. Iată cum faceți fiecare dintre acestea (va trebui doar să faceți una).
Deschideți Scratch și mergeți la proiectul pe care doriți să îl duplicați. Asigurați-vă că ați făcut clic pe Consultați Inside pentru a putea vedea lucrările proiectului.
În bara de instrumente, faceți clic pe Fișier> Salvați ca o copie:
Scratch va deschide noua copie. Redenumiți-l și începeți să lucrați la ea.
Conectați-vă la Scratch și accesați pagina pentru proiectul meu pe date și variabile.
Apasă pe Consultați Inside pentru a vizualiza proiectul:
Acum faceți clic pe Remix buton. Scratch-ul va salva un duplicat al proiectului meu ca un nou proiect în contul dvs. Redenumiți-o și sunteți bine să mergeți!
În această parte a seriei, veți adăuga o difuzare
trimiteți mesajul proiectului dvs. de a comunica intern în cadrul proiectului dvs. Puteți crea o difuzare într-un singur scenariu atunci când acel script atinge un anumit punct sau dacă o condiție referitoare la un sprite este îndeplinită, iar apoi oricare dintre celelalte sprite (sau scenă) reacționează la difuzarea acelui mesaj. Acest lucru leagă spritele dvs. împreună și vă oferă mai multă sferă atunci când vine vorba de adăugarea interacțiunilor utilizatorilor.
Veți aminti că mai devreme am adăugat un sprite cu un text în el (spunând "Ouch!") Pe care l-am desenat ca un costum pentru acel sprite. În momentul în care sprite stă nemișcat pe scenă și nu face nimic. Acum vom folosi o emisiune pentru a face ceva.
Dar mai întâi să creăm difuzarea.
Faceți clic pe sprite de pisici și editați scriptul pe care l-ați creat deja pentru el.
Deschide Evenimente blochează și trageți difuzat mesaj1
blocați în script, imediat sub limbajul schimbați scorul cu 1
bloc. Faceți clic pe lista derulantă pentru message1 și faceți clic pe mesaj nou… . Introduceți un text pe care îl puteți utiliza pentru a defini difuzarea. Acest text nu va fi văzut de utilizator, dar îl veți folosi în altă parte a proiectului dvs., deci este logic să-i numiți ceva semnificativ. Îi sun pe a mea prins.
Iată ce arată scenariul pisicii:
Acum putem folosi difuzarea pentru a declanșa scripturi pentru alte sprite.
Până acum am început toate scripturile noastre cu cand steagul verde a dat click
bloc, ceea ce înseamnă că scriptul este rulat automat când începe proiectul. Uneori nu doriți ca acest lucru să se întâmple: doriți ca un script să fie declanșat după începerea proiectului. Există câteva moduri de a face acest lucru: puteți declanșa un script când se apasă un sprite sau o cheie sau când se modifică o variabilă, cum ar fi intensitatea luminozității. Metoda pe care o vom folosi aici începe un script când sprite primește un mesaj difuzat.
Faceți clic pe sprite de text pe care l-ați creat mai devreme (Sprite2). Începeți prin a da un nume mai bun (făcând clic pe eu pictograma din stânga sus și editarea numelui) - Chem a mea aoleu.
Vrem ca acest sprite să fie invizibil pentru majoritatea timpului și să apară numai când crabul prindă pisica. Așa că vom crea două scripturi: primul care ascunde sprite-ul și cel de-al doilea pentru a face să apară.
Creați acest script pentru sprite:
cand steagul verde a dat click
ascunde
Veți găsi ascunde
bloc în Aparențele blocuri. Aceasta ascunde sprite: acum când începeți proiectul, acesta va dispărea.
Acum creați un al doilea scenariu pentru Ouch sprite:
când primesc prins
du-te la pisica
spectacol
așteptați 0,5 secunde
ascunde
Veți găsi primul sprite în Evenimente blocuri, mergi la
bloc în Mişcare blocuri, aștepta
bloc în Control și secțiunea spectacol
și ascunde
blochează în Aparențele.
Având în vedere că proiectele dvs. devin mai lungi și mai complexe, puteți constata că veți dori să oferiți utilizatorului sentimentul de a progresa printr-un joc sau animație prin schimbarea fundalului. Aici o să facem asta când cronometrul se termină și jocul se termină.
Pentru a face acest lucru, trebuie:
Vom folosi difuzare
Eveniment blocuri și de asemenea atunci când fundalul se comută
bloc de evenimente. Să începem prin crearea acestei emisiuni.
Selectează Etapă și adăugați a difuzare
blocați la sfârșitul scenariului său, înlocuindu - l opriți totul
bloc. Chem o emisiune joc încheiat.
Acum creați un backdrop suplimentar pentru scenă în același mod în care ați creat fundalul anterior acestei serii. Selectează Etapă, faceți clic pe Decoruri fila și fie să importați, fie să desenați sau să selectați un fundal din bibliotecă. Selectez cerc fundal din bibliotecă.
Noul fundal va apărea acum și cel original va dispărea - nu vă faceți griji! Vom face ca originalul să apară atunci când proiectul este lansat și cel nou apare atunci când jocul se termină.
Până acum, puteți să aflați cum să obțineți primul fond care apare atunci când proiectul este lansat. Pur și simplu trageți comutați fundalul la
blocați de la Aparențele blochează scenariul pentru Etapă, chiar sub cand steagul verde a dat click
bloc și deasupra setați Scorul la 0
bloc. În caseta derulantă din acel bloc, selectați plaja malibu.
Acum, când executați proiectul, fundalul va reveni la cel pe care îl cunoașteți:
Pentru a schimba fundalul când se termină jocul, creați un nou script pentru scenă:
când primesc prins
comutați fundalul în cercuri
Etapa dvs. va avea acum două scripturi:
Acum, când executați proiectul, fundalul se va schimba când jocul se va încheia, dar jocul nu se va termina. Să rezolvăm asta.
Când se termină jocul, vrem ca crabul, steaua și spritele să dispară. Prin urmare, trebuie să creăm un script identic pentru fiecare dintre aceste spite, care va fi declanșat de difuzare. Vestea bună este că puteți să creați scenariul o singură dată și apoi să-l copiați în fiecare dintre spritele.
Începeți cu sprite crab. Creați acest script pentru el:
când primesc jocul peste
ascunde
Acum, copiați acest scenariu pentru fiecare dintre spritele ou și starfish tragând scriptul de la Scripturi panou pentru sprite crab pe fiecare dintre sprites sub scena principală.
Acum, când joci jocul, spritele tale vor dispărea când jocul se va încheia - dar nu vor reapărea când vei juca din nou jocul. Deci, trebuie să le apară când proiectul începe.
Pentru fiecare dintre spritele de crab și de stele, adăugați a spectacol
blocați scriptul care începe cu cand steagul verde a dat click
, chiar la început. Nu face acest lucru pentru ou sprite ca acesta apare doar atunci când crabul și pisica sunt atingeți. Sprite de crab, de exemplu, va arăta în felul următor:
Acum, când joci jocul, spritele vor apărea la început și vor dispărea la sfârșit. Singurul lucru care nu funcționează acum este sprite de pisică, care încă se mișcă. Nu vrem să facem asta, așa că vom edita scriptul existent pentru pisică.
Pisica are in prezent o pentru totdeauna
bloc care controlează mișcarea și scorul. Înlocuiți asta pentru totdeauna
blocați cu a repetați până la
bloc, asigurându-vă că toate aceleași blocuri sunt încă în interiorul repetați până la
care erau în interiorul lui pentru totdeauna
bloc. Este posibil să fie mai ușor să trageți pentru totdeauna
bloca departe de script pe Scripturi panou, trageți repetați până la
blocați în poziție, apoi glisați blocurile din interior pentru totdeauna
bloc în interiorul repetați până la
bloc. Apoi ștergeți pentru totdeauna
bloc.
În spațiul din repetați până la
bloc, nu putem folosi a când primesc
bloc, deoarece acestea sunt concepute pentru a porni scripturile. În schimb, vom folosi un operator. Trageți =
blocați în spațiul respectiv, trageți Cronometrul
variabilă la primul spațiu și tip 0 în al doilea spațiu, așa că blocul citește repetați până la Timer = 0
.
Acum rulați jocul și când timpul se oprește, pisica va fi în continuare vizibilă, dar va rămâne în continuare.
Să dăm pisicii să le spună utilizatorul scorul lor. Creați un script nou pentru sprite de pisică după cum urmează:
când fundalul trece în cercuri
să vă înscrieți Ați marcat scorul
Crearea celui de-al doilea bloc este un pic complicat. Va trebui să trageți spune buna!
blocați scriptul, apoi trageți a adera
blocați de la operatorii în spațiul în care se spune Salut! Apoi tastați "ați marcat" în primul spațiu din blocul de îmbinare și trageți Scor
variabilă la cel de-al doilea spațiu. Asigurați-vă că adăugați un spațiu la sfârșitul textului. Scriptul va arăta astfel:
Acum când conduceți jocul, pisica va apărea singură la sfârșit și vă va spune scorul.
Adăugarea de evenimente în proiectele dvs. vă permite să faceți lucruri în timp ce proiectul progresează, ca răspuns la intrările utilizatorilor, scripturile care ajung la un anumit punct sau valoarea unei variabile variabile. În acest tutorial ați învățat cum să utilizați evenimentele pentru a schimba fundalul atunci când cronometrul se reduce la zero și afișați scorul utilizatorului.
Dacă vă place o provocare, de ce nu adăugați unii operatori la sprite-ul pe care l-ați creat, care îi spune utilizatorului scorul. Poate ai putea să o folosești dacă
bloc pentru a detecta valoarea Scor
valoroase și au pisica să spună: "Bine facut!" dacă utilizatorul înregistrează mai mult decât o anumită sumă sau "Mai mult noroc data viitoare!" dacă au un scor redus.
În următoarea parte a acestei serii vom continua să creăm efecte animate folosind fundaluri. Vom folosi copiile duplicate pe care le-am creat chiar la începutul seriei pentru a crea o mărire a efectului.