Pla de treball
- Els personatges es poden moure?
- El bloc de moviment
- Primers moviments: mou-te, rebota, fixa la rotació, posició inicial, vés a, llisca
- Estructura iterativa
- Direcció del moviment
- Personatges animats
Comencem a fer moure els personatges
Ara que ja tenim personatges i sabem fer que parlin, podem fer que es moguin; en aquesta sessió descobrirem els moviments que poden fer els personatges. El bloc de moviment és un dels més importants i cal dominar-lo! També veurem que necessitem poder repetir de manera automàtica algunes ordres per moure indefinidament un personatge.
Fem-ho pas a pas
- Entrem al nostre compte de l’Scratch i creem un nou projecte amb el nom m1repte 31.
- Analitzem la categoria dels blocs de moviment:
- Provem què passa si el fem moure 10 passes. És poc? És molt? Cada cop que fem clic al bloc el personatge es mou el nombre de passes indicat? Podem canviar-li el valor?
- Podem repetir aquest moviment vàries vegades? És el mateix mou-te 50 que repeteix 5 vegades – mou-te 10?
- Utilitzant aquests blocs estem construint una estructura iterativa:
Continuem treballant en el nostre projecte m1repte31. El que hem d’aconseguir ara és construir un programa en el qual el personatge comenci a moure’s sempre des del centre de l’escenari, avanci cap a la dreta, en tocar la vora reboti i canviï de direcció però sense que estigui cap per avall.
Pista: Quan el personatge arriba a la vora no pot anar més enllà, podem fer-lo “rebotar” i que canviï la seva direcció. En canviar la direcció pot passar-nos que el personatge no quedi com esperàvem. Podem utilitzar aquests blocs:
Pista: Podem fer referència a qualsevol punt de l’escenari de l’Scratch amb coordenades cartesianes (ja en tornarem a parlar més endavant). Les coordenades cartesianes ens permeten descriure un punt a l’escenari mitjançant dos números:
número x: ens indica la posició horitzontal. Els seus valors a l’escenari de l’Scratch van des de -240 (el punt més a l’esquerra possible) fins a 240 (el punt més a la dreta possible)
número y: ens indica la posició vertical. Els seus valors a l’escenari de l’Scratch van des de -180 (el punt més a baix possible) fins a 180 (el punt més amunt possible)
En concret el centre de l’escenari és el (0, 0):
Més moviment, més real
Els personatges, a més a més de desplaçar-se, també poden simular un moviment “real”.
Fem-ho pas a pas
Comencem un nou projecte que hem d’anomenar m1repte32.
- Anem a la pestanya vestits del personatge que hàgiu triat:
- Mirem quins vestits té el personatge. En aquest cas, el gat de l’Scratch té dos vestits:
- Provem el programa que teníem fet fins ara, però de manera que anem alternant els dos vestits del gat:
- Quan anem a veure la galeria de personatges de l’Scratch, en seleccionar-ne un podem veure quants vestits té:
Obrim el nostre projecte m1repte32, triem un personatge de la galeria que tingui diferents vestits i fem-ne una petita animació de manera que es mogui per l’escenari i vagi canviant de vestit.
I encara més… no parem
L’Scratch ens ofereix altres formes de moure un personatge per l’escenari.
Fem-ho pas a pas
- A la categoria Moviment el bloc Gira gira el personatge de manera que queda “mirant” en una direcció diferent i, en conseqüència, quan fem que es mogui ho farà en aquesta nova direcció:
- Fem combinacions dels blocs Gira, Mou-te, Espera i Repeteix per veure com es mou el personatge per l’escenari
- Així com el bloc Anar a 0,0 envia el personatge al centre de l’escenari, el bloc Apunta en direcció 90 fa que el personatge quedi “mirant” a la dreta, que és la direcció inicial:
- A la categoria Moviment el bloc Llisca ens permet desplaçar el personatge fins la posició indicada en el temps indicat:
- Fem diferents proves amb aquest bloc i veiem com funciona. Aquest bloc no ens permet utilitzar diferents vestits d’un personatge
- A la categoria Moviment els blocs Suma a “x” i a “y” ens permeten moure el personatge en una direcció concreta, encara que el personatge no estigui “mirant” en aquesta direcció. Aquests dos blocs ens permeten també posar valors negatius per desplaçar el personatge en l’altre sentit:
Iniciem un nou projecte i li donem el nom de m1repte33. Amb el personatge de la ballarina, que té quatre vestits, fem un programa que comenci amb l’últim vestit, el “ballerina-d” i que els utilitzi tots quatre durant menys d’un segon cadascún. A continuació hem de simular que fa la roda.
La primera part del repte és molt fàcil, només cal anar canviant de vestit dins d’un bloc Repeteix amb el bloc Espera. Per la segona part, hem de fer girar el personatge amb el mateix vestit “ballerina-d” dins d’un altre bloc Repeteix de manera que en cada gir la ballarina es vagi desplaçant cap a la dreta per simular la roda; aquest desplaçament, com que ha de ser cap a la dreta, l’hem de fer amb el bloc Suma a X:
Pista: Aquesta roda és una mica barroera. Enlloc de fer que giri 90º podem posar un valor més petit perquè sembli més real, però aleshores haurem de modificar el nombre de repeticions. Podem provar amb 45º i vuit repeticions, però potser haurem de canviar el valor del desplaçament a la “x”.
Podem esbrinar quina relació hi ha entre l’angle de gir i el nombre de repeticions perquè la ballarina faci una roda completa? Podem modificar el programa perquè la ballarina faci dues rodes seguides?
El nostre projecte creix…
És el moment de revisar la descripció que hem fet al nostre projecte postal per anar definint quins moviments hauran de fer els nostres personatges: com es mourà cadascun, quin recorregut haurà de fer…
No oblidem que estem definint poc a poc la nostra postal i que, algunes vegades, hem de canviar coses que ja creiem decidides per d’altres de noves. Així és com treballen els programadors, pensant primer la idea fins a l’últim detall i després executar-la.
Com que som programadors i programadores parlem de…
- Coordenades cartesianes: és un sistema d’identificació que ens permet situar un punt a sobre d’un pla, indicant a quina distància horitzontal (número x) i a quina distància vertical (número y) respecte del centre del pla es troba aquest punt.
- Estructura iterativa: són parts d’un programa on les instruccions es van executant repetint-se tantes vegades com sigui necessari.
- Vestits: són les possibles aparences d’un mateix personatge.