Efectuați codul de zgâriere mai eficient cu blocurile personalizate

Ce veți crea

Acum esti cel mai bun prin seria acestui incepator pe Scratch. Ați creat un joc în care utilizatorul urmărește o pisică cu un crab, pisica spune "Ouch!" când crabul o servește și se păstrează un scor. Jocul are câteva animații și păstrează scorul, pe care îl afișează la sfârșit.

În această parte vom continua să lucrăm la acest proiect. Vom folosi un bloc personalizat pentru a face codul mai usor si mai usor de folosit.

Utilizări ale blocurilor personalizate

Blocurile personalizate au câteva utilizări:

  • Utilizați-le pentru a aplica principiul DRY (Nu repetați-vă) la proiectele dvs., înlocuind blocurile pe care le utilizați de mai multe ori cu un bloc personalizat. În acest fel, puteți defini o rutină o dată și apoi o puteți folosi ori de câte ori aveți nevoie, inserând blocul personalizat în proiect.
  • Dacă scripturile dvs. devin mari și grele, folosiți-le pentru a ordona lucrurile și pentru a stoca rutine lungi în altă parte.
  • Crearea de rutine recursive în care rutina este rulată din nou dacă o condiție este sau nu este îndeplinită.
  • Crearea rutinelor în care valorile sau șirurile pot fi modificate de fiecare dată când adăugați rutina unui script.

În acest tutorial vom folosi primele trei abordări.

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 ultima parte a acestei serii, pe animații. 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 animații.

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 bloc personalizat pentru a evita repetarea

Mai întâi trebuie să identificați unde un bloc personalizat ar face scripturile dvs. mai eficiente. În acest proiect, scenariul principal pentru Etapa include o repetare a două linii:

  • așteptați 1 sec
  • schimbați cronometrul cu -1

Acest lucru nu este un cod de repetare, deci într-un proiect real ați putea alege să îl lăsați așa cum este, dar în scopul acestui tutorial să îl înlocuim cu un bloc personalizat.

Selectează Etapă și faceți clic pe Mai multe blocuri. Faceți clic pe Faceți un blocaj buton. Veți fi prezentat cu Blocul nou căsuță de dialog:

Veți vedea acum un script nou "pălăria" numit definiți Count down în fiecare secundă (sau orice ați numit-o):

Pentru a defini acest bloc, trebuie să adăugați blocurile pe care le va înlocui sub acea "hat". Acestea vor fi așteptați 1 sec și schimbați cronometrul cu -1 blocuri.

Odată ce ați făcut acest lucru, editați scriptul cu cele două blocuri repetate în el, astfel încât cele două blocuri să fie înlocuite de blocul personalizat de fiecare dată. Scriptul va avea acum 11 blocuri de cod în loc de 14:

Acest lucru a redus doar codul cu trei rânduri în acest script, dar puteți vedea cum ați utiliza rutine mai mari sau repetându-le mai des, pentru diferiți sprites, probabil, ar face lucrurile mai eficiente. Dacă doriți să creați un bloc personalizat pentru toate spritele dvs., creați-l în Stadiu.

Crearea unui bloc personalizat pentru a scurta un script

Un alt mod în care puteți utiliza blocuri personalizate este să înlocuiți rutinele mari în script-urile dvs., făcând scripturile dvs. mai scurte și mai ușor de gestionat. Sprite-ul de pisici are în prezent destul de multe blocuri în scenariul său principal, așadar să aplicăm acest principiu în acest sens.

Iata cum arata scripturile de pisica:

Să creați două blocuri personalizate: una pentru rutina care cere utilizatorului să definească ceea ce va spune pisica și una pentru rutina care face pisica să reacționeze la a fi prinsă de crab.

Asigurați-vă că ați selectat pisica și mergeți la Mai multe blocuri secțiune. Apasă pe Faceți un blocaj butonul și numele primului bloc. O să-i spun: "Utilizatorul definește sunetul pisicilor".

Glisați acum blocurile care rulează acea rutină în "hat" pentru blocul personalizat. Blocurile pe care trebuie să le mutați sunt următoarele:

  • întrebați dacă pisica va mula sau va țipa când va fi bătută de crab? si asteapta
  • dacă răspunsul = miau atunci
  • spune miau pentru 2 secunde
  • altfel
  • dacă răspunsul = țipă atunci
  • spune Scream! timp de 2 secunde

Asigurați-vă că trageți toate blocurile de sub acestea înapoi la scenariul original.

Acum adaugati Utilizatorul definește sunetul pisicilor blocați în scriptul original în locul în care ați scos blocurile de mai sus.

Repetați acest lucru pentru liniile de cod de mai jos, creând un nou bloc personalizat numit Pisica reacționează la a fi prinsă, adăugând blocurile la aceasta și adăugând noul Pisica reacționează la a fi prinsă blocați scriptul original.

Iată cum arată scenariile pisicilor:

Suma codului este aceeași, dar separând cele două rutine, le-ați făcut mai ușor să vedeți ce se întâmplă în scriptul original. Aceasta este o tehnică pe care unii oameni o vor găsi utile, în timp ce alții preferă să rămână în păstrarea tuturor blocurilor într-un scenariu lung!

Crearea unui bloc personalizat pentru o rutină recursivă

O altă utilizare pentru un bloc personalizat este de a crea o rutină recursivă, în care o rutină poate fi rulată în interiorul ei. Este mai ușor să explici prin crearea unui.

Utilizatorul definește sunetul pisicilor bloc personalizat pe care tocmai l-am definit cere utilizatorului să introducă un sunet pe care o va face pisica. În cazul în care utilizatorul tip "miau" sau "scream" scriptul reacționează la asta. Dar ce se întâmplă în cazul în care utilizatorul înșeală sau tipă altceva? Dacă se întâmplă acest lucru, dorim să afișăm un mesaj utilizatorului și apoi să punem întrebarea din nou. Putem face asta prin a face Utilizatorul definește sunetul rutină recursivă.

Selectați sprite de pisici și editați Utilizatorul definește sunetul pisicilor bloc personalizat. Începeți prin înlocuirea dacă bloc în interiorul altfel secțiunea din dacă altceva blocați cu o secundă dacă altceva bloc. Asigurați-vă că copiați condițiile (răspuns = țipa) din original dacă blocați în dacă secțiune a noului dacă altceva bloc. Mută spune Scream! timp de 2 secunde bloc în interiorul dacă în acest sens dacă altceva bloc.

Acum în altfel secțiunea din dacă altceva bloc, adăugați aceste blocuri:

  • Scuze, nu am prins asta pentru 1 secundă
  • setați temporizatorul la 0
  • Utilizatorul definește sunetul pisicilor

Iată cum va arăta scriptul dvs.:

Acum, dacă utilizatorul introduce răspunsul greșit, pisica va spune: "Ne pare rău, nu am prins asta", Timerul va reveni la zero, iar rutina va fi rulată din nou, întrebând utilizatorul ce sunet doresc pisica să face.

rezumat

Blocurile personalizate reprezintă un instrument foarte util în Scratch. După cum ați învățat în acest tutorial, le puteți folosi pentru a salva repetarea unui set de blocuri din nou și din nou în proiectul dvs. sau puteți defini rutine pe care le adăugați apoi la un script, făcând scripturile dvs. mai ușor de gestionat. Dacă trebuie să repetați o rutină dacă o condiție este îndeplinită, puteți crea o rutină recursivă ca cea pe care ați creat-o pentru pisică.

Puteți include, de asemenea, șiruri, numere și intrări booleene în blocurile personalizate, ceea ce înseamnă că de fiecare dată când adăugați un bloc într-un script, puteți schimba modul în care funcționează. Pentru mai multe informații, consultați wiki-ul Scratch.

Proiectul Scratch este acum complet! În următoarea și ultima parte a acestei serii, vom analiza modul în care vă puteți împărtăși munca și puteți crea studiouri pentru a colabora.

Cod