Vaixell musical

From Edutec Wiki
Revision as of 17:38, 5 December 2018 by Jogaye (Talk | contribs)

Jump to: navigation, search


Introducció

Aquest exercici proposa una sèrie d'elements interactius per tocar notes musicals utilitzant diferents instruments. Les melodies es poden tant guardar com reproduir mitjançant l'ús de llistes i missatges de Scratch.  Si volem fer-ho més interacitu, cada objecte pot establir un instrument musical o efecte de so diferent.

Pintant escenari i objectes

Crearem nosaltres mateixos l'aparença de l'escenari i dels objectes, encara que també és possible importar imatges predissenyades com ja hem vist en altres casos. Hem triat una escena on apareixerà un vaixell sobre el mar i un sol, podent afegir més objectes com ara un ocell. Cada raig de sol és un objecte diferent  i quan es cliqui toca i guarda una nota musical Si ens volem estalviar la feina de crear-ho tot des de zero, tenim una plantilla disponible aquí.
Si volem tocar les set notes (do, re, mi, fa, sol, la, si) hauríem de tenir set rajos de sol, un per nota.

Barco musical 01.png

El funcionament d'aquest progama és el següent:

Quan es fa  clic a un ragi del sol, aquest reproduirà una nota i la guardarà en una llista per a la seva posterior reproducció.
Quan es cliqui el sol esborra totes les nostes de la llista.
Quan es cliqui el vaixell es reprodueix la melodia guardada
El mar, el sol i l'ocell fan canviar l'instrument musical


Tocant les notes

Comencen programant un raig del sol. Quan es tingui un totalment programant el codi es pot copiar i ajustar a la resta del objectes similars. 

RTENOTITLE

A banda de tocar la nota es pot realitzar algun efecte visual per quan l'objete sigui ciclat. En el següent codi es canvia el color i resultat es que el raig de sol queda com il·luminat.

RTENOTITLE

No s'ha d'oblidar treure l'efecte gràfic un cop tocada la nota perquè torni al color original. Podem anar provant diferents valors en l'efecte color per veure com ens agrada més. Ja que cada raig de sol tocarà una nota diferent, també podem fer que l'efecte de color aplicat a cada un d'ells també sigui diferent.


Guardant les notes en una llista

Per guardar les notes es fan servir les llistes d'Scratch. Es tracta d'un tipus especial de variable que permet tenir una serie de valors sota el mateix nom. Es pot accedir als elements d'aquesta llista mitjançant un index que indica la seva posició a la mateixa.

Al apartat "Variables" es pot trobar un botó per crear una llita nova. Un bon nom per la llista pot ser "notes".

RTENOTITLE

 

RTENOTITLE

Per afegir una nota es fa servir el bloc "afegeix cosa a notes" que es pot tobar a varaibles:

RTENOTITLE

Les notes es poden guardar com el seu valor numéric (57 per el do o A segonn quina notació s'utilitzi). Per reproduir la melodia només caldria accedir a cada nota seuencialment (ho veurem més endavant) i tocar aquest número. En aquest exemple es guardaran els noms de la nota. D'aquesta forma es pot jugar amb els noms del les notes per enviar missatges i també perque el nostre codi sigui més facil de llegir i entrendre. Amb una petita variació respecte al codi per tocar les notes ja ho tenim preparat:

 

RTENOTITLE

 

Així només caldrà enviar el missatge "do" per fer que soni la nota ia més que s'il·lumini l'objecte que la reprodueix. Ara ja podem fer servir el bloc per afegir la nota a la llista:


RTENOTITLE

Ara si es clica sobre el raig de sol s'afegiran les notes a la llista. Per comprobar-ho es pot marcar la casella podrem veure com va afegint notes a la llista.

RTENOTITLE

Un cop comprovat que el correcte funcionametn, es poden programar els altres raigs de sol de la mateixa manera, canviant tant el missatge a enviar com la nota a guardar i la nota a reproduir.
 


Reproduir les notes musicals

Si tot ha sortit, bé tindrem una llista de notes semblant a la següent:

Vaixell10.png

Ara només queda reproduir la llista de notes, en aquest exemple quan es clica el vaixell. 

Com els noms dels missatges corresponen als mateixos noms de les notes guardades a la llista, l'únic que s'ha dee fer és recórrer la llista i enviar el missatge que hi ha a cada posició. Com hem de repetir una acció diverses vegades, necessitem un bloc  de repetició que es pot trobar a la cateforia control:

 

Per reproduir la melodia, en el nostre cas quan es prem el vaixell, hem Després d'haver provat el comportament de cada raig de sol, anem a veure com podem reproduir la melodia quan, per exemple, cliquem al sol. Si hem tocat cada raig de sol per ordre de notes, hauríem de tenir la llista: