Mișcarea cu tastele
Personajul se deplasează pe scenă cu tastele săgeți: întâi cu blocuri de eveniment, apoi cu o mișcare continuă, controlată dintr-un singur script.
Ai nevoie de:
- Un calculator cu acces la internet
- Editorul Scratch, pe scratch.mit.edu
1. Deplasarea pe x și pe y
Blocurile din categoria Mișcare care schimbă coordonatele personajului sunt:
- „modifică x cu …”: o valoare pozitivă deplasează personajul spre dreapta, una negativă spre stânga;
- „modifică y cu …”: o valoare pozitivă deplasează personajul în sus, una negativă în jos.
modifică x cu (10) modifică y cu (-10)
2. Câte un script pentru fiecare tastă
Blocul de eveniment „când tasta … este apăsată” pornește scriptul de sub el la apăsarea tastei alese din listă. Construiește patru scripturi, câte unul pentru fiecare săgeată:
când tasta [săgeată dreapta v] este apăsată modifică x cu (10)
când tasta [săgeată stânga v] este apăsată modifică x cu (-10)
când tasta [săgeată în sus v] este apăsată modifică y cu (10)
când tasta [săgeată jos v] este apăsată modifică y cu (-10)
Apasă săgețile și urmărește personajul.
3. Mișcarea continuă
Blocul la infinit repetă blocurile din interior până la oprirea proiectului. În interiorul lui, blocul dacă … atunci verifică la fiecare repetare o condiție și execută blocurile din el numai când condiția este adevărată.
Condiția „tasta … apăsată?” se ia din categoria Detectare. Este un bloc cu marginile ascuțite și se pune în spațiul liber din blocul „dacă”.
când se dă click pe @greenFlag
mergi la x (0) y: (0)
la infinit
dacă <tasta [săgeată dreapta v] apăsată?> atunci
modifică x cu (5)
end
dacă <tasta [săgeată stânga v] apăsată?> atunci
modifică x cu (-5)
end
end4. Orientarea personajului
La deplasarea spre stânga, personajul trebuie să privească spre stânga. Blocul „orientează-te în direcția” stabilește direcția:
- 90: spre dreapta;
- -90: spre stânga;
- 0: în sus;
- 180: în jos.
Stilul de rotație stânga-dreapta, pus la pornire, păstrează personajul cu capul în sus.
când se dă click pe @greenFlag
mergi la x (0) y: (0)
setează stilul de rotație [stânga-dreapta v]
la infinit
dacă <tasta [săgeată dreapta v] apăsată?> atunci
orientează-te în direcția (90)
modifică x cu (5)
end
dacă <tasta [săgeată stânga v] apăsată?> atunci
orientează-te în direcția (-90)
modifică x cu (-5)
end
endExerciții
🔑 Rezolvare
când se dă click pe @greenFlag
mergi la x (0) y: (0)
setează stilul de rotație [stânga-dreapta v]
la infinit
dacă <tasta [săgeată dreapta v] apăsată?> atunci
orientează-te în direcția (90)
modifică x cu (5)
end
dacă <tasta [săgeată stânga v] apăsată?> atunci
orientează-te în direcția (-90)
modifică x cu (-5)
end
dacă <tasta [săgeată în sus v] apăsată?> atunci
modifică y cu (5)
end
dacă <tasta [săgeată jos v] apăsată?> atunci
modifică y cu (-5)
end
endPentru sus și jos nu este nevoie de „orientează-te”: personajul rămâne cu fața spre ultima direcție aleasă.
🔑 Rezolvare
- Cu 2, personajul se deplasează încet, dar precis: se poate opri exact unde trebuie.
- Cu 15, personajul se deplasează repede, iar mișcarea se vede în salturi mari.
Într-un joc, viteza se alege astfel încât personajul să poată fi controlat ușor.
🔑 Rezolvare
când se dă click pe @greenFlag la infinit orientează-te spre [cursorul mouse-ului v] mergi (3) pași end
Când ajunge la cursor, personajul se deplasează înainte și înapoi în același loc: la fiecare repetare trece puțin de cursor, apoi se întoarce spre el.
🔑 Rezolvare
Personajul se deplasează pe diagonală, spre dreapta-sus. La fiecare repetare, ambele condiții sunt adevărate, deci se execută și „modifică x cu 5”, și „modifică y cu 5”.
Ce ai învățat
La finalul fișei, poți:
- să deplasezi un personaj cu blocurile „modifică x cu” și „modifică y cu”;
- să pornești un script la apăsarea unei taste;
- să construiești o mișcare continuă cu „la infinit”, „dacă … atunci” și „tasta … apăsată?”;
- să stabilești direcția personajului și stilul lui de rotație.