Instruccions if - else | ||
En aquesta pràctica coneixereu els condicionals, que són scripts que permeten programar accions que es produiran si s'acompleix una o més condicions. |
||
L'estructura del |if| i el |else| seria molt semblant a: si (hi ha 10 nuvols al cel) {que plogui;}}si no{ que surtt el sol ;} | ||
L'objectiu final d'aquesta pràctica és el d'aquirir prous coneixements per confeccionar una bateria de preguntes que serveixin d'autoavaluació en una unitat didàctica. | ||
|
||
|
||
Instruccions condicionals | ||
L'acció if | ||
L'estructura if és una instrucció condicional que avalua una condició i si aquesta és compleix executa l'acció programada.Veureu això en un exemple que avalua la resposta de l'usuari a una pregunta. | ||
En l'evento de ratolí següent la instrucció |if| comprova que les dues variables resposta01, solucio01 siguin iguals |==|, si la condició d'igualtat es dóna s'activa el valor "Fantàstic" de la variable, de text dinàmic, avis. | ||
|
||
Quan la resposta pot ser més d'una, podeu utilitzar l'operador lògic ||. Aquest operador comprova que una de les dues condicions sigui certa. | ||
|
||
|
||
|
||
L'acció if | else | ||
else és una instrucció condicional que es presenta com alternativa a |if|, és a dir, si la condició que planteja |if| no es compleix la lectura de l'script passa a la instrucció | |else| i s'executa l'acció que hi ha programada per sota d'aquesta. | ||
En l'exemple següent l'script anterior apareix amb la instrucció |else|, això farà que si la instrucció |if| és falsa la variable de text dinàmic avis, activi el seu valor " La resposta no és correcta". | ||
|
||
Desenvolupament de la pràctica | ||
El script d'aquesta pràctica és el primer que treballareu amb més d'un element a considerar. Per facilitar una millor comprensió de la programació, en aquesta ocasió aniran apareixent els elements poc a poc. | ||
Perquè els comentaris que acompanyen el script per facilitar la seva comprensió no alterin l'orde de línia, a partir d'ara no apareixeran fins el script final. | ||
En aquesta pràctica partirem del següent supòsit: heu confeccionat una unitat didàctica en Flash i necessiteu incloure al final de la unitat una bateria de preguntes perquè els alumnes s'autoavaluin. | ||
Per confeccionar aquestes preguntes es podrien seguir moltes vies ja que el Flash permet infinitat de combinacions a l'hora de decidir el disseny i la programació. | ||
Però aquesta pràctica la centrarem exclusivament en l'ús de variables juntament amb instruccions condicionals |if| i |else|. | ||
Crear variables de text d'entrada i text dinàmic | ||
El primer que fareu serà crear una variable de text d'entrada, com la que ja haveu fet en la pràctica 3 d'aquest matix mòdul, perquè l'alumne escrigui la resposta a la pregunta. | ||
Aneu al menú |Archivo|Abrir|, busqueu a la carpeta mat_m3, que està dins de la carpeta d105m3 del curs D105 i obriu l'arxiu m3p04.FLA. | ||
Seleccioneu l'eina |texto|, aneu al panell |Propiedades|, dins la finestra |Tipo de texto| elegiu |Introducción de texto|. | ||
Dins la capa variables, creeu un quadre d'entrada de text al costat del botó. Posició núm.4 de la imatge de l'exemple. | ||
Aneu al panell |Propiedades|, escriviu en el requadre |Var:| el nom de la variable resposta01 i marqueu l'opció |Mostrar borde al rededor del texto| . | ||
El següent pas serà inserir un text dinàmic que avisi a l'alumne quan la resposta és correcta. | ||
Seleccioneu l'eina |texto|, aneu al panell |Propiedades|, dins la finestra |Tipo de texto| elegiu |Texto dinámico|. | ||
Dins la capa variables, creeu un quadre de text dinàmic en la posició del requadre núm.2 de la imatge de l'exemple. | ||
Aneu al panell |Propiedades|, escriviu en el requadre |Var:| el nom de la variable avis. | ||
|
||
Preparar el botó | ||
En aquesta pràctica inserireu tot el codi en el primer fotograma de la capa accions, només haureu posar nom d'instància al botó. És important, però, tenir present que es podria aconseguir el mateix si el script estiguès dins del botó. Només caldria seguir els passos de l'apartat Insertar un script en un botó de la pràctica núm. 3 d'aquest mòdul. | ||
Aneu a la capa botons, seleccioneu el botó que hi ha dins l'escenari en forma de guix, obriu el panell |Propiedades i poseu-li com a nom d'instància boto1_btn. | ||
Preparar el script de la capa |accions| | ||
En el primer fotograma de la capa accions escriureu el escript necesari pel bon funcionament de la pel·lícula. Recordeu que contra més complexe és un script més necesari és acompanyar-los amb comentaris, però que en aquest cas els deixarem pel final. | ||
Escriviu directament el següent script. | ||
|
||
Fixeu-vos que en el script que acabeu d'escriure hi ha com dos blocs: el primer s'executa quan es carrega la pel·lícula, està al començament del script i que fins ara només conté la variable |solucio0|. El segon ve a continuació, s'executa quan es generi la incidència de ratolí i està dins de la funció. | ||
Explicació de l'script | ||
|
||
Abans de continuar publiqueu la pel·lícula i comproveu que les variables funcionin correctament. | ||
Personalitzar l'autoavaluació | ||
El següent pas serà personalitzar el test d'autoavaluació afegint una variable de text d'entrada on l'alumne pugui escriure el seu nom. |
||
Ordeneu el script fent servir l'opció |Formato automático| i activeu |Ver números de línea|. | ||
|
||
Seleccioneu l'eina |texto|, aneu al panell |Propiedades|, dins la finestra |Tipo de texto| elegiu |Introducción de texto|. | ||
Dins la capa variables, creeu un quadre d'entrada de text en la posició del requadre núm.1. | ||
Aneu al panell |Propiedades|, escriviu en el requadre |Var:| el nom de la variable nom i marqueu l'opció |Mostrar borde al rededor del texto| | ||
El que ara fareu serà modificar la funció del botó boto01_btn per sumar |+| el valor de la variable avis al valor de la variable nom. | ||
Seleccioneu el primer fotograma de la capa accions, aneu al panell d'accions, i fixeu el script. | ||
Dins la variable avis poseu el cursor desprès del les cometes de "Fantàstic" i afegiu + nom; | ||
|
||
Abans de continuar publiqueu la pel·lícula i comproveu que les variables funcionin correctament com a la imatge següent. | ||
Crear un comptador | ||
Continuareu completant aquesta pràctica creant variables que aniran comptant cada cop que l'alumne s'equivoca en la seva resposta. Per crear aquest comptador afegireu primer la variable la capa variables i després tornareu a modificar l'script. | ||
Seleccioneu l'eina |texto|, aneu al panell |Propiedades|, dins la finestra |Tipo de texto| elegiu |Texto dinámico|. | ||
Dins la capa variables, creeu un quadre de text dinàmic en la posició del requadre núm.3. | ||
Aneu al panell |Propiedades|, escriviu en el requadre |Var:| el nom de la variable comptador. | ||
Preparar el script de la capa |accions| | ||
Un cop afegida la nova varible de text dinàmic, heu a completar el comptador tornant a modificant el script. | ||
Seleccioneu el primer fotograma de la capa accions, aneu al panell d'accions, i fixeu el script. | ||
En el primer bloc del script, escriureu la variable comptador amb el valor inicial de |=0| i la variable errors amb el valor inicial de |1|. | ||
Seleccioneu el primer fotograma de la capa accions, aneu al panell d'accions i fixeu el script. | ||
Recordeu que heu de tenir el script ordenat i numerat. | ||
Escriviu sota la primera línea del script |errors=1;| | ||
Escriviu sota la segona línea del script |comptador = 0;| | ||
Dins del segon bloc del script, que defineix la incidència de ratolí, tot just sota de l'acció |else|, posareu un altre cop la variable comptador. Aquest cop la variable comptador tindrà com valor la variable errors. A l'estar la variable comptador sota l'acció del botó i amb el valor creixent |++| de la variable errors , cada cop que es premi el botó, si la resposta és equivocada augmentarà en 1. | ||
Escriviu sota la setena línea del script |comptador = errors++;| | ||
Ara és el moment d'afegir dos nous elements, per millorar el disseny del script: | ||
El primer pas serà fer desapareixer el boto1_btn si la resposta és correcta. Aquest tros de script anirà en el segon bloc després de l'acció |if|. | ||
Perquè la desaparició del botó generi l'efecte desitjat cal haver preparat amb anterioritat una imatge amagada a sota. Én el cas de la pràctica amb la que esteu treballant hi ha inserit un petit gràfic que no es veu perquè està amagat sota el boto1_btn. | ||
El segon pas serà fer que les respostes que no siguin correctes s'esborrin automàticament. Fareu servir el operador |delete| perque esborri el valor de la variable resposta01. En aquest cas al estar situat sota el apartat |else| ho farà només si la resposta no és correcta. | ||
Escriviu sota la cinquena línea del script: |_root.boto1_btn._visible = 0;| | ||
Escriviu sota la desena línea del script |delete resposta01;|. | ||
|
||
Explicació de l'script | ||
L'operador d'increment |++| augmenta el valor en 1 de la variable a la qual està vinculat. | ||
En aquest cas cada cop que l'alumne no contesta correctament el valor de la variable error augmenta en 1 i aquest resultat apareix reflectit en la variable de text dinàmic comptador. | ||
Comproveu que la pel·lícula funcioni correctament com a la imatge de l'exemple. | ||
Deseu i publiqueu la pel·lícula amb el nom d'avaluacio.FLA.. | ||
Informe per imprimir | ||
Pot ser que al final d'una bateria de preguntes d'autoavaluació, interesi que l'alumne imprimeixi un petit informe que reflecteixi quins han estat els seus encert i els seus errors. Amb una variable més es pot confeccionar un informe que es pot imprimir independentment de la pel·lícula. | ||
Aquesta variable pot tenir com valor, el nom de l'alumne, el nombre de la pregunta, els encerts o errors i comentaris personalitzats en funció del rendiment de l'alumne. | ||
Com qué només interesa imprimir l'informe i no tota la pel·lícula, la variable haurà d'estar dins d'una instància de clip i activar el seu valor només quan es premi el botó imprimir_btn. | ||
Preparar instància de clip | ||
El clip de pel·lícula que conté la variable no ha de ser necessariament visible. Pot estar ocult fora de l'escenari, invisible sota d'acció de la propietat |_visible=0| o en el segon fotograma de la línea de temps del clip. | ||
En aquesta pràctica utilitzareu el segon fotograma del clip de pel·lícula, per contenir la variable de text dinàmic. Aquest fotograma queda amagat als usuaris. | ||
Al crear el clip deixareu el primer fotograma buit, això farà que només es vegi una petita rodona blanca dins l'escenari de la pel·lícula, és per aquest motiu que convé inserir el clip en una capa nova on el tindreu més controlat. | ||
Creu una nova capa per sota de la capa preguntes i poseu-li el nom de clip_informe. | ||
Aneu al menú |Insertar|Nuevo símbolo|Clip de película|. Quan esteu dins del escenari del clip inseriu un segon fotograma clau i en l'apartat |Propiedades| etiqueteu el fotograma amb el següent signe |#| seguit de la lletra |p|. | ||
|
||
Seleccioneu l'eina |texto|, aneu al panell |Propiedades|, dins la finestra |Tipo de texto| elegiu |Texto dinámico|. | ||
Dins l'escenari del segon fotograma creeu un quadre de text dinàmic. | ||
Aneu al panell |Propiedades|, escriviu en el requadre |Var:| el nom de la variable informe. | ||
|
||
Seleccioneu el clip i poseu-li com a nom d'instància imprimir_mc. | ||
Preparar botó per imprimir | ||
Aneu a la capa botons, seleccioneu el botó que hi ha dins l'escenari en forma d'impresora, obriu el panell |Propiedades i poseu-li com a nom d'instància imprimir_btn. | ||
|
||
Preparar el script de la cap |accions| | ||
Per acabar li fareu les últimes modificacions al escript que teniu fins ara. | ||
El primer pas serà aturar la instància de clip imprimir_mc en el primer fotograma, que és el que està buit. |
||
Arribat aquest punt es planteja un petit dilema alhora de seguir dissenyant el script. Es pot afegir un senzill |Stop| en el primer fotograma de la instància imprimir_mc o crear una funció com les que heu fet fins ara en el primer fotograma de la capa accions. | ||
En els vostres futurs dissenys haureu de decidir, en casos similars, quina és l'opció que us convé més. | ||
Aquesta pràctica continuarà com fins ara, creareu un tercer bloc de script on definireu una funció per aturar la instància imprimir_mc, és l'opció que té més línees per escriure, però permet continuar amb tot el script en un mateix lloc. | ||
Escriviu sota la tretzena línea del script el seguent bloc: | ||
|
||
El segon pas serà crear un quart bloc de script per definir la incidència del botó imprimir_btn. | ||
En aquest quart bloc inserireu la variable informe i la funció d'imprimir |print|. | ||
Escriviu sota la setzena línea del script el següent bloc : | ||
|
||
Explicació de l'script | ||
La variable informe activa el seu valor quan es prem el botó imprimir_mc. Fixeu-vos que aquesta variable està en la línea de temps de la instància imprimir_mc i en conseqüència té una ruta de destí diferent a les que heu inserit fins ara. | ||
La funció |print| va acompanyada de dos parametres: el destí que en aquest cas és |_root.imprimir_mc| i el tipus d'espai a imprimir |"bmovie"| que defineix tota l'àree del fotograma. | ||
Un cop provat el funcionament correcte de la pel·lícula, complementeu el escript afegint algun comentari per ajudar a la seva comprensió, pot ser semblant al que hi ha escrit sota d'aquestes línees. | ||
|
||