[Powered by Google Translate] ZAMYLA CHAN: În regulă.
Bună ziua, tuturor, si bun venit la Walkthrough 0.
Zamyla numele meu, și eu voi conduce aceste
walkthroughs acest an.
În CS50, fiecare set de probleme este însoțită de o prezentare
prin care vom trece prin set de probleme săptămână, ea vorbim
prin, vorbesc cum să începeți, să discute diferite
tehnici si sfaturi pentru a rupe într-adevăr problema pus în
unele mușcături de gestionat.
Sunt, de asemenea, foarte fericit să răspundă la orice întrebări pe care le
asupra set de probleme.
Fără alte formalități, mă bucur că ești aici, dacă ești
aici, în persoană sau de tuning în on-line.
Să începem.
>> Deci, primul p-set în CS50 -
De fapt, noi nu vom intra în dactilografiere și mașină
Bancuri cod destul de încă.
Suntem de fapt de gând să fie utilizând Scratch, care este o
program care ne permite să facem niște drag and drop
de programare.
Și astfel, chiar daca nu suntem tastarea, într-adevăr ne permite să
explora unele dintre conceptele fundamentale care
vom folosi pe tot parcursul CS50.
Acum, unele dintre aceste concepte sunt
enumerate aici în Toolbox.
Ceea ce aș vrea să fac pentru fiecare walkthrough este prezenta pe toți
cu un set de instrumente pe care le puteți utiliza pentru walkthrough.
Și așa, nu vă faceți griji.
Vom trece peste toate aceste termeni și toate acestea
Teoriile timpul walkthrough.
Acum, dacă ajungi prin utilizarea tuturor acestor instrumente, sau pur și simplu
unele dintre ele, este foarte bine sa stii ce te echipate
cu pentru a putea aborda set de probleme.
>> Deci, în Scratch, limbajul în primul rând că trebuie să știți este ceea ce
un sprite este.
Deci, la fiecare obiect sau fiecare caracter, fie ea o pisică un câine
sau o minge, se numește un sprite.
Și astfel, dacă vreau, spun, două pisici - indiferent dacă sunt sau nu sunt
identic -
Am nevoie să fac două sprites separate în Scratch.
Și astfel sprites au scripturi asociate cu acestea.
Script-urile sunt de fapt ceea ce ai de gând să fie clădire -
glisare și fixare - cu blocurile.
Și deci ce script-uri nu este un fel de a determina și de a defini modul în care
Sprite se comportă.
Sprite nu sunt de fapt doar imagini, pentru că avem
Costume de asemenea, asociate cu acest tip de sprite
determina ce sprite arata.
Și tu poți avea mai mult de un costum pentru un sprite dat.
>> Deci, la un moment dat în timpul programului Scratch-ul tău, așa cum vom arăta
mai târziu astăzi, în cadrul walkthrough, puteți de fapt,
schimba costumul de sprite dvs. pentru a face să arate, fie
ușor diferită sau complet diferit.
Și astfel, există trei moduri de a crea un sprite în Scratch.
Unul, puteți desena propriul dvs. în programul Scratch
construit în editorul de vopsea.
Puteți încărca propria imagine, utilizați una a lui Scratch construit-in
cele, sau, ultima opțiune, pentru a primi un sprite aleatoriu.
Acum, dacă vă simțiți deosebit de norocos, atunci am
vă urez bun venit pentru a încerca norocul și de a crea un sprite aleatoriu.
>> Deci, toate sprites sunt introduse pe
etapă în Scratch.
Etapă - putem să-l trateze ca panza nostru.
Și astfel toate sprites sunt plasate pe scenă.
Și această etapă, ceea ce face se permite tuturor sprites
pentru a vă deplasa în jurul valorii de pe ea.
Și la fel ca sprite, etapa are, de asemenea scripturi.
Și așa mai departe aceste script-uri, pentru a le plasa pe scenă -
e foarte utilă atunci când, de exemplu, aveți un script care nu
exact se referă la un anumit spirit, ci mai degrabă
referă la sprite multiple sau doar, în general, ceva
pe care doriți să faceți.
Astfel, puteți plasa aceste scripturi pe scenă în schimb, și că
ar fi de design ceva mai bine.
Acum, în timp ce poate avea mai multe sprites, e bine să
țină cont de faptul că puteți avea o singură etapă.
Dar, de asemenea, etapele au medii.
Spre deosebire de costume, la fel ca sprite nu, etapele au
fundaluri.
Și din nou, puteți desena fie propriul dvs. sau încărcați propriul dvs.
imagine pentru a folosi ca fundal.
>> Deci, nimeni nu aveți orice întrebări înainte de a merge mai departe?
OK.
Simțiți-vă liber să mă întrerupe în timpul ce walkthrough, și
Sunt fericit sa raspunda la orice intrebare aveti.
OK.
Deci, atunci când începe programul sprite, ce ai de gând să
nu este ai de gând să faceți clic pe steagul verde.
Dar dacă nu vă conectați nimic la acest bloc drept
aici, atunci nimic nu se va întâmpla de fapt.
Pentru că, vezi tu, ce script-uri și trebuie să etapa
nu se stie de fapt, să răspundă la eveniment -
asta e ceea ce noi le numim, evenimente - de steagul verde
fiind făcut clic.
Deci, aveți nevoie pentru a atașa de fapt, blocuri pentru a canelura, la
partea de jos a blocului care steagul verde clic pe el, și apoi
Programul va ști ce să facă și cum să răspundă la
steagul verde fiind făcut clic.
>> Ei bine, ceea ce vine după aceea?
Ei bine, avem o mulțime de blocuri din Scratch de a utiliza, și
în cazul în care carnea, într-adevăr, de programul dvs. se află în aceste
declarații.
Și astfel aceste declarații sunt convenabil
organizat de culoare.
Ai acțiuni legate de circulație,
sunet, aspect, et cetera.
Și astfel încât să puteți vedea puteți naviga între ele în
filele din programul Scratch ta.
Și așa, în timp ce veți avea alte lucruri construite în jurul valorii de ea,
ceea ce face este de fapt declarațiile spune de fapt
sprite sau stadiul de a face ceva.
Spre deosebire de doar spun, OK, atunci când face acest lucru,
declarațiile conțin de fapt, carnea reală a acesteia.
Să presupunem că doriți să execute doar o anumită acțiune, să zicem
doriți doar pisica sa miaune atunci când un anumit lucru se întâmplă.
Ne putem profita de Booleans, care ați învățat în
prelegere unul.
Și astfel încât acestea sunt expresii care evaluează la
fie adevărat sau fals.
Și astfel, acestea sunt identificate în Scratch de -
vezi unghiurile, la sfârșitul acestor blocuri.
Și așa aveți o varietate de tipuri diferite de Booleans.
Ați "este cel mai fiind presat în jos", "2 plus 2 nu
echivala la 5, "sau" este ghidul apăsarea unei taste anumită
tastatură? "
>> Acum, nu puteți utiliza doar aceste pace.
Ceea ce trebuie să faceți este să le combini cu o condiție.
Deci, conditia e acolo sub tab-ul de control de la Scratch.
Și astfel ei au convenabil un substituent mic care
prezinta forma de bloc de care aveți nevoie pentru a pune în ea.
Deci, în funcție de contextul situației, puteți alege
un Boolean și apoi puneți-l în interiorul starea dumneavoastră.
Și nu aveți o declarație de condiționalitate.
Dacă ați pus declarații în interiorul acelui bloc, atunci aveți o
structură creată, prin care o dată o anumită condiție este îndeplinită la
stânga, te executa apoi declarația.
Da?
>> STUDENT: Dacă o variabilă reprezintă un număr, poți
utilizați variabila din interiorul booleană, cum ar fi verde,
de exemplu?
ZAMYLA CHAN: Da, poți.
Aveți posibilitatea să glisați și să fixați valoarea variabilei în interiorul
circulară forma acolo.
>> Acum, unul dintre avantajele de calculatoare este puterea vasta
și viteza cu care se poate executa procese repetitive.
Și astfel, în loc de, să zicem, repetând o instrucțiune de peste
și peste și peste din nou și, de fapt tastarea asta - sau
în acest caz, în Scratch, glisare și fixare și
glisare și fixare -
ceea ce putem face este chintesența-l într-o buclă.
Și astfel, bucle poate fi utilizat pentru a executa, fie lucruri
infinit, cu o buclă pentru totdeauna, sau pentru o
setați numărul de ori -
spun, repeta ", spun hi" de 10 ori sau până la o anumită
condiție este adevărată.
Și acest lucru din nou, veți vedea că Scratch este aluzie că, atunci când
aveți o afecțiune, cum ar fi "repeta, până când," atunci numai
lucru care se va potrivi in ​​interiorul există o valoare booleană.
Bine.
>> Deci, acum, știm că putem ingloba repetitiv
procesele din interiorul bucle.
Puteți vedea de ce așa ceva s-ar putea să nu fi ideală.
Ea nu se potrivește pe diapozitiv.
În esență, o face doar același lucru de peste si peste din nou
De 10 ori, de fapt.
Se misca 10 pasi, spune salut, se mută 10 pasi, spune salut.
Deci, acum puteți vedea că odată ce avem bucle, ceva de genul
aceasta este o mult mai bine.
E mai scurt, e mai mic, și se completează de fapt,
același lucru.
Acum, în Scratch acest lucru nu s-ar putea face mai mult de o diferență, dar
este de fapt vă economisește timp.
>> Deci, pe expresia variabila -
puteți folosi de fapt, variabile și puneți-le în interiorul
condiții.
Astfel cum este exprimat chiar acolo, veți vedea că avem o variabilă numită
"Contracara", și suntem echivalentul că, pentru a vedea dacă
E mai mic decât 0.
Deci, variabilele sunt, în esență, aș spune,
containere pentru valorile.
În Scratch, aceste tipuri de valori pot fi cuvinte sau
ele pot fi numere.
Și astfel, cu aceste variabile, ceea ce putem face cu ele este că noi
poate seta valoarea lor.
Deci, în primul exemplu aici, avem exemplul de text
care conține valoarea "Hello, World!" În al doilea exemplu,
se presupune ca avem deja o variabilă numită
"Contracara", și, în acest caz, noi îl schimbă cu 3.
Noi îl incrementare de 3.
Și apoi, în ultimul exemplu, variabilele pot fi târât
care urmează să fie pus într-o expresie booleană.
>> Acum, când creați o variabilă, ceea ce trebuie să
să decidă este dacă faceți variabila pentru toate
sprite în programul Scratch ta, sau doar pentru
specificul Sprite, în care le-ați selectat, atunci când face
variabila.
Si asa aceasta este o decizie foarte importantă pentru a face.
Și într-adevăr se reduce la ceea ce vrei domeniul de aplicare
variabilă pentru a avea.
Deci, de exemplu, un exemplu de domeniu de aplicare local ar fi dacă ați
alegeți doar pentru acest spirit de a avea variabila.
Așa că ar însemna că numai acel sprite ar fi în măsură să
accesa variabila.
Numai că Sprite ar fi capabil să-l vadă,
schimba-l, l modificați.
Dacă alegeți pentru a avea un domeniu de aplicare la nivel mondial -
asa ca asta e, dacă spui pentru toate sprite, în cazul în care
selectați această opțiune -
atunci înseamnă că etapa, precum și toate sprites
va fi capabil de a vedea, modifica, și accesați că variabila care
care le-ați creat.
Orice întrebări privind măsura variabile sau orice altceva?
Da.
>> STUDENT: Pentru variabilele, puteți avea două variabile de
același nume, dacă sunt pe sprites diferite?
ZAMYLA CHAN: Atâta timp cât acestea sunt sprites locale ---
ah, da, îmi pare rău.
Deci, întrebarea era dacă puteți avea două variabile de
același nume într-un program și, dacă aveți două variabile cu
același nume, dar sunt ambele sprite locale, asa Sprite unul,
pisica, are un nume variabila "contra", iar Sprite doi,
câine, are o variabila numita "contra", atâta timp cât cele
sunt ambele sprite locale, atunci domeniul de aplicare a acestora nu se extinde la
restul programului.
Și astfel, nici unul dintre celelalte sprite sau
etapă va fi confuz.
Bine.
>> Așa că am menționat mai înainte punctul de intrare atunci când am avut
atunci când blocul verde marcat clic.
Și așa ce este -
se spune, OK, atunci când evenimentul se intampla ca steagul verde este
clic, aceasta este ceea ce ar trebui să faci.
Și așa că nu este de fapt singurul eveniment
pe care o avem în Scratch.
Avem, de asemenea, alte evenimente.
Deci avem, de exemplu, atunci când o tastă de pe
tastatura este apăsat.
Și de fapt, ai putea alege literele de la A la Z, 0
până la 9, sau tastele săgeată.
Și apoi avem, de asemenea, alte evenimente, cum ar fi atunci când vă
Sprite se face clic.
Și așa că atunci când începi cu asta, observați tendința tasta
este faptul că acestea au doar un canal pe partea de jos, și așa mai departe
atunci că, din nou, cheile voi în faptul că nimic nu acordă mai sus
care blocheaza.
Vă construi de la asta și de mai jos.
>> Acum, spune, ce se întâmplă dacă vrem să se întâmple un eveniment doar
când, nu știu, o pisica se atinge o anumită secțiune a
scenă sau ceva de genul asta?
Noi de fapt nu avem nici încorporat în
Evenimentul a semnifica asta.
Deci, ce vom avea de făcut este de a crea, de fapt evenimentul nostru.
Și asta se numește de radiodifuziune.
Deci, atunci când doriți pentru a semnala faptul că un anumit sa întâmplat,
atunci când utilizați - în tab-ul de control, există un bloc numit
"Difuzat". Și așa, atunci, veți tastați în numele
evenimentul pe care doriți să difuzeze, și apoi în funcție de
Sprite sau sprite -
puteți avea mai multe sprites reacționează la acest mesaj -
sau etapa va trebui să-l ocupe, va trebui să
primi aceasta, va trebui să spun, bine, am înțeles că acest lucru are
sa întâmplat, așa că am de gând să fac asta cu ea.
Și așa de fiecare dată când difuza un eveniment, care e cu
înțelegându-se că, fie că Sprite Sprite sau altul este
Va trebui să primească acel eveniment și de a răspunde.
>> Acum, conceptul ultima înainte de a intra într-un exemplu real
a unui program de Scratch este fire.
Fire așa este atunci când computerul este de executare
procese simultane în același timp.
Vă garantez că toți dintre noi au profitat de
fire atunci când ne vom vizionarea unui film la același timp
tastarea unui eseu sau ceva de genul asta.
Computerul este de executare mai multe lucruri în același timp
timp, la fel ca Scratch poate.
Deci, după cum puteți vedea în acest exemplu, aceste două scripturi pot fi
fi folosite pentru sprite exact aceeasi, deoarece acestea
începând blocuri punctul de intrare poate efectiv utilizate
multipli de ori.
Vă garantez că, probabil, steagul verde clic bloc
va fi una dintre cele mai populare
blocuri în programul dumneavoastră.
Deci, aici vom vedea că, atunci când se face clic pe steagul verde, nu e
un proces care merge mai departe, precum și atunci când steagul verde este
clic, există un proces separat întâmplă.
Și astfel Scratch va rula aceste două în același timp.
Și acest lucru folosind aceste fire, știind că puteți de fapt,
au mai mult de un punct de intrare -
chiar dacă acesta este punctul de intrare același -
o să devină cu adevărat utilă dacă doriți, să zicem,
separa sarcini distincte una de alta.
Bine.
Deci, să ne uităm, de fapt într-un exemplu de program de Scratch.
>> OK.
Așa că am făcut deja un mic program pentru noi aici.
Așa că mă duc faceți clic pe steagul verde pentru a începe și a vedea
ceea ce face.
Deci avem un pește portocaliu aici -
un pește sprite -
pare să se miște și apoi resetați și du-te înapoi.
Și apoi avem un sprite rechin.
Și acest Sprite rechin pot deplasa, se poate roti, se poate
înoate în jurul valorii de.
OK.
Deci, asta e un fel de distracție.
Dar putem adăuga cu siguranță mai mult la asta.
De exemplu, vom vedea că, atunci când rechin se mișcă, se poate
de fapt, coborâți ecran și aproape
dispar din vedere.
Așa că vrem să schimbe asta, pentru că nu vrem
rechin să scape.
Și deci haideți să oprim script-ul nostru și apoi editați rechin
scripturilor, poate adăuga ceva.
Observați că, în acest spirit special aici, pentru totdeauna bucla
se încheie cu o margine dreaptă.
Ea nu are nici un canal.
Deci, de fapt, acest lucru are sens, pentru că este o buclă pentru totdeauna.
Este ceva infinit de executare.
Așa că nu se va termina niciodată.
Chiar dacă ar exista ceva sub ea, ar fi
niciodata nu ajunge la asta.
Deci, vă sunt de fapt forțat să introducă un fir.
>> Bine.
Deci, haideți să adăugați un alt scenariu.
Așa că am de gând să înceapă cu acest punct de intrare atunci când verzi
pavilion se face clic.
Deci, ceea ce vreau să fac este să verificați dacă în mod continuu
rechin va fi atingerea margine.
Dar eu știu că, de fapt, în temeiul Propunere există un elegant
bloc mic care spune, oh, în cazul în care pe margine, de respingere.
Deci, ceea ce dorim să facem este continuu executa.
Și astfel, ceea ce acest "în cazul în care pe margine, de respingere", nu - este de fapt
deja verifică dacă sunt pe margine, apoi sări înapoi.
Deci, avem nevoie pentru a găsi un fel de buclă pentru a continua
executa această declarație.
Deci, dacă ne uităm sub control, nimeni nu are o idee de
ceea ce bucla am putea dori să utilizați?
Da.
>> STUDENT: bucla pentru totdeauna.
ZAMYLA CHAN: Exact, da.
Pentru totdeauna bucla.
Așa că hai să urmăriți că aici, și apoi spun, în cazul în care pe margine, saritura.
Și atunci să vedem.
Bine.
Deci, peștele este în mișcare ca de obicei.
Și apoi, oh -
acum rechin nu poate scăpa și bounces de pe ecran.
Mișto.
Bine.
Așa că am fost în căutarea inch
Nu pot - da?
>> STUDENT: Cum faci că se aplică la rechinul ca se misca
la pește?
ZAMYLA CHAN: Ah.
Deci, motivul pentru care singurul rechin sare, spre deosebire de
de pește, precum și, pentru că acest script pe care am scris se află în interiorul
rechin Sprite.
Vezi tu, aici, sprite rechin este selectat.
Bine.
Deci, haideți să adăugați altceva.
Am fost explorarea pe costume diferite care
Scratch are, și am văzut acest drăguț mic rechin-Chomp.
Așa că m-am gândit că, hei, ei bine, poate putem pune în aplicare
rechin chomping, de exemplu, atunci când am apăsați spațiu.
Mă duc să opresc asta.
Bine.
Da.
>> STUDENT: Ai putea arăta doar - este că, în costume?
ZAMYLA CHAN: Oh, da.
Așa că m-am dus în costume, iar apoi m-am uitat la import.
Și așa aici, are Scratch o gamă întreagă de costume de faptul că
aveți posibilitatea să alegeți.
Și astfel, atunci există o grămadă de animale, iar apoi
rechin are un cuplu de costume asociate cu aceasta.
OK.
Deci, în acest scenariu aici, eu sunt deja verificarea în mod continuu
în bucla pentru totdeauna, OK, bine, dacă săgeata stânga este apăsat,
atunci vreau să se rotească în sens antiorar.
Dacă săgeata dreapta este apăsat, vreau pentru a roti sensul acelor de ceasornic.
Dacă săgeata în sus este apăsat, apoi m-am
doresc să progreseze mai departe.
Deci, ce putem face este doar pentru a adăuga acest script, în loc de
adăugând unul separat, deoarece acest lucru este deja check-in
tema care taste sunt apăsate.
>> Deci, haideți să adăugați una care spune că, dacă tasta spațiu - să utilizeze
tasta de spațiu pentru a Chomp jos.
Deci, acestea tasta săgeată stânga apăsat, et cetera, acestea sunt
în albastru luminos.
Așa că hai să mergem la Sensing albastru luminos, și uită-te în jos.
Oh, și aici este un spatiu apăsată tasta.
Deci, ceea ce dorim să facem este să aibă comutatorul rechin sale
chomping în jos costum.
Care are de a face cu modul rechin
pare, așa că du-te la Aspect.
Și aici am, convenabil, a comuta la
Costum rechin-Chomp.
Dar când am chomp jos, nu vrem să fie rechin
chomping în jos pentru totdeauna, așa că hai să adauge, OK, bine atunci,
după ce chomps, vrem să comutați înapoi.
OK, asa ca hai sa vedem ce face.
Deci, l-am mișcare în jurul valorii de.
OK.
Deci avem aceasta chomping.
E un fel de rapid, deși chomping, deoarece în Scratch,
e le de executare instantaneu.
Deci, hai să mergem la control și să-l aprecieze său
Chomp, așteptați o secundă.
Și aici chomps jos un pic mai mult înainte de a merge
copii de la foamea sa.
>> OK.
Deci, eu sunt destul de multumit de rechin acum.
Dar peștele, ceea ce pare a fi a face - este o progresează
Cuplu de pași, de fapt, de cinci ori.
Se mișcă 50 pași.
Și atunci ce face aici, în acest bloc de top aici este că sunt
zicând:, Bine, bine, o să mergem la o anumită valoare a lui x.
Pentru a găsi coordonatele, poți de fapt doar mouse-ul peste
ecranului, și apoi în partea de jos -
chiar aici -
o să-ți arăt ce sunt coordonatele.
Astfel încât să puteți profita de faptul că la intrare coordonatele
pe care doriți.
Și deci ce această declarație aici, spune spune, OK,
bine, peștele începe de la această valoare x anumită și apoi
înălțimea se poate schimba.
Sunt de fapt de gând să alegeți o înălțime aleatoriu care încă stă
în cadrul constrângerilor impuse de etapa.
Și așa aici, ce am de a profita de este
difuzare evenimente.
Deci, vedeți că acest handler eveniment este fish1 nou.
Deci, ori de câte ori primește peștele noua fish1 eveniment, acesta va
executa acest lucru.
Si apoi vezi că, după ce se deplasează înainte valoarea sa reglată
de ori, atunci este de fapt difuzează
din nou, OK, noi fish1.
Dar, în loc, cum să-l facem despre astfel încât numai pește
continuă până la sfârșitul a ecranului înainte de a se resetează,
în loc de doar un fel de a merge la centrul de ea.
Deci, în loc de a spune, repet de cinci ori - pentru că noi nu facem
într-adevăr știu de câte ori va fi nevoie până când se
ajunge la sfârșitul a ecranului, hai să folosiți altceva.
>> Așa că am de gând să se separe acest lucru, pentru că noi
Nu vreau asta.
Pentru a șterge blocuri în Scratch, ceea ce faci este trageți doar
l la eliberarea stânga, și apoi se elimină.
Dacă decideți că nu vrei să faci asta, atunci puteți
întotdeauna anula ștergerea acesteia.
Dar vrem să scăpăm de acest lucru.
Ceea ce vrem să facem este vrem să păstreze în mișcare 50 pași și
oprindu-o secundă până când vom atinge sfârșitul ecranului.
Deci, poate cineva la fața locului o buclă pe care am putea dori să folosească
repetă un proces doar până când vom atinge ecranul.
>> STUDENT: Repetare până la.
ZAMYLA CHAN: Am auzit "repeta, până când," și că e corect.
Deci da, aceasta se repetă până la bloc are, de asemenea, o -
dar vedem că această repetare până la bloc nu este destul de
complet, corect?
Deci, avem nevoie să spunem, OK, bine, se repetă până când?
Deci spunem, OK, bine, se repetă până când peștele este în contact
marginea ecranului.
Și așa am să-ți spun că este în curs de detectare.
Nu e Boolean emoționantă.
Și astfel încât să puteți selecta aici ceea ce doriți să fie verificarea
că peștele atinge.
Deci, aici, vrem să spunem atinge marginea.
Și apoi ne-o dorim pentru a scrie această înapoi inch
Și acum, dacă ne uităm la pește nostru du-te, odată ce-l atinge
margine, se va muta înapoi din nou.
Bine.
Deci, eu sunt fericit cu asta.
Și Să deschidem HungryShark1.
>> OK, ca un fel de spectacol de gătit, am adaugat un pic
mai multe caracteristici.
Deci, de exemplu, veți vedea că peștele este acum de fapt,
alunecare destul de bine, spre deosebire de înainte, atunci când a fost
un fel de mișcare și de oprire, mișcare și de oprire -
în esență, sarind doar pixeli set.
M-am uitat în mișcare, au considerat această declarație alunecare, și am
a spus, OK, în loc de doar mișcare și de oprire, în mișcare
și oprirea, am de gând să alunece 70 de unități la dreapta,
dar stați la poziția mea y aceeași aici.
Bine.
Deci avem un rechin care poate Chomp.
Mișto.
Dar acesta este numit HungryShark, la urma urmei, asa ca au
rechin mănâncă pește.
>> Deci, cum am putea spune pește sau spune că are rechin
chomped jos?
Cum am putea comunica?
Da.
STUDENT: La costum al doilea rechin,
l prinde pește.
ZAMYLA CHAN: Da, exact.
Deci știm că atunci când ne sunt trecerea la costum
Chomp, că avem Chomp jos.
Acum, vom avea în cele din urmă să verifice.
Spune vrem pește să dispară o dată de mâncat.
Va trebui să comunice într-un fel la pește care
acesta va avea să se ascundă, de exemplu, sau să dispară de la
ecranul după ce a fost chomped în jos pe.
>> Deci, ce fel de concept, ce fel de instrument putem folosi pentru a
au comunică rechin la pește, OK,
Am chomped jos?
STUDENT: Radiodifuziune.
ZAMYLA CHAN: Da, exact, difuzarea unui eveniment.
Așa că hai să mergem la control și să spunem de difuzare.
Și haideți să difuzeze Chomp.
Bine.
Dar odata ce am difuzat ceva, că e cu
presupunerea că suntem de fapt, o să aibă ceva
îl primesc.
Și astfel că va fi pește.
Deci, haideți să spunem, atunci când primesc Chomp.
Acum, când chomp rechin jos doar un spațiu gol, nu avem
doriți peștele să reacționeze la faptul că, la toate.
Deci, haideți să spunem, OK, bine, numai dacă se atinge rechin
peștilor în momentul de Chomp -
atunci vom face efectiv ceva.
Deci, vom folosi condiție, dacă, drept,
pentru ca suntem verifica dacă ceva este adevărat sau nu.
Deci, dacă ne întoarcem la Sensing, atunci putem
folosesc aici, în cazul în care se ating.
Și apoi aici, vom alege rechin.
Apoi, sub Aspect, acest bloc ascunde -
care va face practic peștii dispar de pe scena.
Vom face o ascundă, dar vrem un alt pește, nu?
Rechin noastra este foame.
Dorim să-i dea mai mult pește.
Deci, atunci hai sa difuzat, de asemenea, un pește nou.
OK.
Deci, haideți să vedem ce face.
>> Mișto.
Deci, chomps jos și un alt pește apare.
Dar asta e un pic prea rapid pentru un alt pește pentru a merge.
Deci, haideți să așteptăm doar o secundă înainte de a ne
difuzat un pește nou.
Bine.
OK.
Deci, aceasta este o luare destul de bun de joc.
Dar toate jocurile nevoie de un scor, nu?
Deci, ceea ce am putea folosi pentru a tine scorul?
Da.
STUDENT: Altele -
ZAMYLA CHAN: Da.
Exact.
Da.
Așa că vreau să urmări modul în care practic
multi pesti este mâncat.
Pentru a face acest lucru, vom avea de a face o variabilă.
Să numim acest scor.
Și astfel, probabil, deoarece acesta este un joc pe care ne jucăm,
am de gând să doriți pește pentru a fi în măsură să -
spun, odată ce sa mâncat poate creste scorul sau
ceva și apoi etapa va trebui, probabil, să facă
ceva cu gât, de asemenea.
Așa că am de gând să aleagă să facă această variabilă globală și o spun
pentru toate sprites.
OK.
Așa că atunci când vrem să crească scorul?
Atunci când un pește a fost mâncat.
Și astfel avem deja un proces de aici, care e de-a face
cu pește a fi mâncat.
Deci, haideți să adăugați această afirmație aici -
schimba Scor de până la 1.
Mișto.
Deci, odată ce mâncați un pește, crește scorul.
>> Bine.
Deci, spun că sunt obosit de acest joc.
Mă opresc.
Și apoi, oh, vreau să revin la joc.
Vreau să încep un joc nou.
Ei bine, scorul este inca 3, chiar daca sunt
un joc nou.
Noi nu vrem cu adevărat să nu înscrie pentru a reseta, nu?
Deci, haideți să adauge o declarație atunci când jocul este început în
stadiul de spus, OK, bine, vrem să resetați scorul.
Deci, aici ne-am stabilit scorul variabila la 0.
Și acum, de fiecare dată când începeți un joc, scorul
va începe de la 0.
Mișto.
OK.
Deci, acum, hai să mergem pe la HungryShark2.
>> Așa că am făcut un pic mai mult acum, și ceea ce am făcut este
dreapta dat click pe sprite pește.
Am vrut mai mult pește, și așa că am dat click duplicat și a făcut
un sprite nou identic cu faptul că unul și, de asemenea, copiat în toate
script-uri, precum și.
Deci, atunci acest lucru este fish2 esență, identice cu
fish1, cu excepția loc începând de la stânga și
mutarea dreapta, se porneste de la dreapta și se mută stânga.
Și apoi am ales, de asemenea, un costum nou pentru ea.
Apoi am găsit un alt costum care a fost reperat un pește, și am
a fost ca, rece, acest lucru pare otrăvitoare, așa că hai să pretindem
că acest lucru este un pește veninos.
Și așa am zis, OK, bine, în loc de a manca
pești toxici și având în creștere scor, de fapt am
vreau să scadă.
Deci, aici am scorul în scădere cu 1 ori de câte ori
rechin-l mănâncă.
Și apoi, mi-a plăcut cu adevărat costumele pe care răzuibile
cu condiția, și m-am uitat si apoi am gasit shark's -
semăna cu un rechin bolnav.
Și așa, atunci l-am editat-am făcut verde.
Și am fost ca, rece, e un rechin bolnav.
Bine.
>> Deci, haideți să haideți să adaugi la script-ul nostru un fel de mod de a face
comutatorul de rechin în stare de rău ori de câte ori
mananca un pește otrăvit.
OK.
Deci, pentru că am copiat toate scripturile din versiunea originală nostru
pește în pește otravă, ea are deja acest Sprite aici
care spune, când am chomped jos, sunt eu
de fapt chomped jos?
Astfel încât să putem profita de aceasta pentru a comunica
rechin, oh, bine, ai mâncat doar un pește otravă.
Ești bolnav.
Și așa ar fi ce fel de acțiune?
Ce-ar fi să facem?
Broadcast.
Da, exact.
Deci, haideți să difuzare.
Să-i spunem rechin bolnav.
OK.
Așa că acum, rechin, în mod evident, va fi cel care-i
primirea acestui eveniment.
Deci, haideți să adaugi atunci când primesc rechin fiind bolnav.
OK.
Deci, știm că avem acest costum -
rechin este bolnav.
Și atunci știm dinainte că suntem un fel de apreciem
când putem întrerupe un pic înainte de a trece înapoi.
Da?
>> STUDENT: Cum copiați scriptul de la
un Sprite la altul?
ZAMYLA CHAN: Ah.
Deci, în acest caz, atunci când am copiat doar sprite, pentru a
copia un script la altul sprite, ceea ce am făcut aici a fost
spun doar duplicat, și a făcut de fapt un întreg nou
Sprite cu toate scripturile incluse.
Dar presupunem că doriți să copiați doar un script la altul anumite
Sprite, atunci ceea ce ar face este, de fapt trageți doar acest lucru,
hover peste un alt script, iar acum aici el duplicat.
În acest caz, ea deja a avut, astfel încât să putem șterge doar
asta din nou.
Dar, pentru a copia un alfabet în altul, ceea ce faci este doar
glisați-l pe sprite celelalte.
OK.
>> Deci, ne-am întors de la rechinul fiind bolnav.
Rechin așa e primit este bolnav, și se spune, OK, bine,
odată ce sunt bolnav, am de gând să-mi comuta la costum care spune
"Rechin bolnav," și acum, hai să adăugați doar o așteptare pentru a
Apreciez verde.
Și apoi vom fi foame din nou, astfel încât să putem pur și simplu
comuta înapoi la rechin a fi foame.
Bine.
Așa că hai să mănânce acest pește violet.
Asta e bine.
Bună întrebare.
Ce sa întâmplat cu tejghea?
OK.
Deci, ne-am stabilit scorul la 0 aici, dar acest scor - ceea ce
acest semn de selectare este ea ascunde sau unhides variabila
de pe ecran.
Dar ce putem face în loc de debifarea sau verificarea acestuia -
putem avea de fapt, acest bloc aici spune "arată sau ascunde
variabila. "Deci, haideți să asigurați-vă că de fiecare dată când porniți
joc care variabila este indicat.
>> OK.
Deci, acum variabila este indicat.
Noi mâncăm un pește otravă, și ne îmbolnăvim.
Mișto.
Bine.
Deci, acum, e ciudat pentru un joc pentru noi să avem negativ
puncte, nu?
Așa că păstrează pe consumul de acestea și e ca și cum -
Deci, cum despre fiecare dată când ajungem negativ, dacă ne-am mâncat prea
multi pesti otrăvitoare, jocul sa terminat - rechin e prea bolnav.
Bine.
Deci, ceea ce va trebui să faceți este să avem nevoie să
difuzat un eveniment -
joc de peste.
Deci, am putea face acest lucru mai multe moduri, de fapt.
Am putea avea undeva în faza de un script care
continuu controalelor este scor negativ?
Este scor negativ?
Dacă da, atunci vom transmite acest eveniment.
>> Deci, asta e un mod de a face asta.
Sau am putea profita de faptul că știm că
singurul mod în care scorul dvs. ar putea fi negativ este atunci când mănânci un
pești toxici, nu?
Pentru că atunci când mănânci un alt pește, dumneavoastră
Scorul este de gând să crească.
Deci nu e nici o utilizare în verificarea dacă ar trebui să fie
peste joc sau nu.
Deci, acesta este un proces similar aici.
Deci, putem adăuga de fapt, doar la acest "cand voi primi rechin
bolnav. "
Deci, spune vom adăuga această condiție.
Dorim să spunem, în cazul în care scorul este mai mic decât 0.
Deci, vom merge la operatorii, vom folosi
aceasta mai puțin de un, vom trage noastre
Scorul aici, spun 0.
Și astfel, în cazul în care scorul este 0, atunci vrem să difuzeze
ceva numit joc de peste.
>> OK.
Deci, spune ca avem joc de peste.
Să-l mute aici sau ceva.
Ei bine, noi vrem doar rechin pentru a reveni la a fi foame, dacă
Jocul poate fi jucat în continuare.
Deci, în loc de a folosi un "dacă", vom folosi
o "în cazul în care altcineva" construi.
Deci, ce face asta - se spune, OK, deci, dacă această condiție este
adevărat, apoi face acest lucru, dar dacă e falsă face atunci acest lucru.
Deci, haideți să adăugați dacă scorul este mai mic decât 0, atunci
difuzat joc de peste, dar dacă nu - dacă dumneavoastră
scorul este inca pozitiv -
apoi du-te inapoi la a fi foame.
OK.
Mișto.
Deci, acum că avem acest joc de peste eveniment, vom trebui să aibă
un mod de a răspunde la ea.
>> Deci, hai să facem un script nou, care spune: "atunci când voi primi joc
peste "Și. ceea ce avem aici, sub control este de fapt acest
opri toate buton, și, astfel, practic imită vă faceți click
roșu de stop inscriere aici.
Așa că haideți să avem oprire rechin.
Și așa am dori, de asemenea pește pentru a opri, așa că hai să trageți și
copiați-l inch
Ne dorim ca toți peștii să se oprească.
Și atunci să aibă oprire etapa, de asemenea.
Bine.
Deci înot în jurul valorii de, mâncăm un pește, și
apoi programul ingheata.
Mă faceți clic pe jos, dar eu nu pot face de fapt nimic.
OK, dar să zicem că nu vreau să reamintesc faptul că utilizatorul
le-am luat o valoare negativă, de exemplu, atunci putem, pentru
exemplu, ascunde variabila de la ecran.
Deci, atunci când primește etapa jocul de peste, apoi se va ascunde
variabila scorul.
OK.
Deci, hai sa mancam pește una mai mult.
Și apoi scorul dispare, și aveți doar acest ecran.
>> Bine.
Deci asta e un joc destul de decente, și dacă ați avut mai mult
timp, atunci ați putea adăuga în cele din urmă
scripturi mai multe și mai mult.
Și așa, atunci, am adaugat un pește câteva mai mult, le-a facut progrese
la viteze diferite, iar apoi ori de câte ori un rechin mănâncă
pești toxici, de fapt spune, "Blech!"
Și apoi ceea ce am făcut este am adaugat un fundal nou
etapă - un joc de peste fundal.
Și ce face în timpul etapa de joc peste eveniment
Manipularea este trece la fondul de joc peste
fundal.
Și la fel de bine, m-am ascuns toate sprites din etapa astfel încât
doar jocul cu fondul a fost demonstrat.
Există o serie de alte adaosuri mici pe care am adăugat,
de exemplu, înainte de a când am terminat programul nostru, atunci ne
rechin, data viitoare pe care am început, va începe în
această poziție la fel de bine.
Ceea ce am adăugat este ori de câte ori se face clic pe steagul verde, apoi
rechin merge înapoi la origine, și apoi se confruntă față de
dreapta, astfel încât de fiecare dată, aveți o
rechin de pornire acolo.
>> Astfel încât să puteți experimenta in Motion si lucruri de genul, pe care
doar pentru a adăuga atinge mici care fac dvs.
jocul un pic mai lustruit.
Are cineva întrebări despre HungryShark?
Mișto.
Bine.
Deci, asta e un exemplu de ceva ce ai putea face
în utilizarea Scratch toate instrumentele pe care le-am discutat mai devreme.
Așa că am, de asemenea, incluse în diapozitive walkthrough.
Le vei vedea mai târziu.
E doar o imagine de ansamblu a proceselor pe care le-am făcut -
progresează de la HungryShark0 tot drumul spre finala nostru.
O
Da.
Dar asta e despre asta.
Voi sta în spatele dacă vreți să
mai pună întrebări.
Acest lucru a fost Walkthrough 0.
Va multumesc tuturor pentru venirea, si ne vedem la Walkthrough 1.