Asigurați-vă că animațiile Scratch sunt mai reactive cu evenimentele

Ce veți crea

Î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.

Ce ai nevoie

Pentru a finaliza acest tutorial, veți avea nevoie de:

  • un cont gratuit la Scratch
  • un browser web cu acces la Scratch (Vă recomandăm să folosiți un browser modern cum ar fi Chrome, Firefox, Safari sau Opera pentru cea mai bună experiență)

Noțiuni de bază

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:

  • Deschideți proiectul pe care l-ați creat pentru ultimul tutorial și faceți un duplicat al acestuia.
  • Remix proiectul pe care l-am creat pentru a susține ultimul 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).

Duplicarea propriului proiect

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.

Remixing Proiectul meu

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!

Crearea unui eveniment difuzat pentru a trimite mesaje

Î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.

Utilizarea unui eveniment difuzat pentru a porni un script

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ă.

Crearea unui script pentru a face Sprite dispar

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.

Crearea unui script pentru a face Sprite să apară din nou

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.

Utilizarea evenimentelor cu fundaluri

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:

  • adăugați o transmisie atunci când cronometrul se termină
  • creați un fundal nou pentru a fi afișat la sfârșitul jocului
  • schimba fundalul când cronometrul se termină
  • ascundeți spritele existente când se termină jocul
  • spuneți utilizatorului scorul lor când jocul se termină

Vom folosi difuzare Eveniment blocuri și de asemenea atunci când fundalul se comută bloc de evenimente. Să începem prin crearea acestei emisiuni.

Crearea unei difuzări

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.

Crearea unui fundal nou

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ă.

Schimbarea fundalului la momentul potrivit

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.

Ascunde Sprites Când jocul se termină (și le-a arătat când începe)

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.

Spuneți utilizatorul scorul lor când jocul se încheie

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.

rezumat

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.

Cod