Flash 8 es una potente herramienta creada por Macromedia ue ha superado las me!ores e"pectati#as de sus creadores$ Inicialmente Macromedia Flash %ue creado con el o&!eto de reali'ar animaciones #istosas para la (e&) as* como para crear +IFs animados$ Los moti#os ue han con#ertido a Flash 8 en el pro,rama ele,ido por la ma-or*a de los dise.adores (e& pro%esionales - a%icionados son #arios$ /eamos pues) porue es interesante Flash 8$ 0esde la (e& de Macromedia te puedes descar,ar una #ersin de e#aluacion de Flash 8 #1lida para 23 d*as$ Los lo,otipos de Flash son propiedad de Macromedia$ 4or u usar FLASH 8?
Las posi&ilidades de Flash son e"traordinarias) cada nue#a #ersin ha me!orado a la anterior) - el actual Flash 8 no ha sido menos$ Aunue su uso m1s %recuente es el de crear animaciones (a lo lar,o de este curso #eremos lo sencillo ue puede resultar) sus usos son muchos m1s$ Son tantos) ue todos los dise.adores (e& de&er*an sa&er utili'ar Flash$ Flash ha conse,uido hacer posi&le lo ue m1s se echa en %alta en Internet5 0inamismo) - con dinamismo no slo nos re%erimos a las animaciones) sino ue Flash permite crear aplicaciones interacti#as ue permiten al usuario #er la (e& como al,o atracti#o) no est1tico (en contraposicin a la ma-or*a de las p1,inas) ue est1n reali'adas empleando el len,ua!e H6ML)$ 7on Flash podremos crear de modo %1cil - r1pido animaciones de todo tipo$ Flash es %1cil de aprender) tiene un entorno ami,a&le ue nos in#ita a sentarnos - pasar horas - horas creando lo ue nos dicte nuestra ima,inacin) pero esto no es 1 su%iciente para ser el pre%erido por los dise.adores pro%esionales$$$ 8ntonces u es? 0e Flash M9 :33; a Flash 8
Ha- compa.*as ue lan'an me!oras en sus productos por pura necesidad econmica< 7uando sucede esto) los usuarios lo notamos r1pidamente por las pocas me!oras o%recidas por las nue#as #ersiones$ =o es este el caso de Flash 8) ue continua con la costum&re de Macromedia de aplicar considera&les me!oras a las nue#as #ersiones de sus productos $$$ Si pensa&ais ue Flash M9 :33; era -a insupera&le) no os perdais las me!oras ue aporta Flash 85 Me!oras en cuanto a %acilidad de mane!o) ma-or potencia ,r1%ica - de inte,racin con pro,ramas de edicin de im1,enes) %acilidad para importar #*deo) posi&ilidad de emular tus pel*culas diri,idas a dispositi#os m#iles - para los menos a#an'ados) se recupera el asistente de ActioScript ue ha&*a desaparecido en la #ersin anterior$$$ Analicemos estas #enta!as - otras muchas con un poco m1s de detalle5
Diseos ms atractivos: Flash 8 permite el uso de e%ectos #isuales ue nos %acilitar1n la creacin de animaciones) presentaciones - %ormularios m1s atracti#os - pro%esionales) as* mismo) pone a nuestra disposicin mecanismos para hacer este tra&a!o m1s cmodo - r1pido) tales como la e"istencia de %iltros - modos de me'cla a.adidos en esta #ersin$ Optimizacin de fuentes: Incorpora tam&in opciones de le,i&ilidad para %uentes peue.as) haciendo la lectura de nuestros te"tos m1s a,rada&les - de alta le,i&ilidad$ Adem1s de poder modi%icar la optimi'acin) Flash permite tam&in la seleccin de con%i,uraciones preesta&lecidas para te"tos din1micos - est1ticos$ BibIiotecas integradas: Ahora podemos &uscar r1pidamente cualuier o&!eto e"istente en nuestras pel*culas) na#e,ando por las &i&liotecas de todos los archi#os a&iertos desde un >nico panel$ Mayor potencia de animacin: Flash 8 permite un ma-or control de las interpolaciones ha&ilitando un modo de edicin desde el ue se podr1 modi%icar independientemente la #elocidad en la ue se apliuen los di%erentes cam&ios de 2 rotacin) %orma) color) mo#imiento) etc) de nuestras interpolaciones$ Mayor potencia grfica: 8#ita la repeticin innecesaria de la representacin de o&!etos #ectoriales simplemente se.alando un o&!eto como mapa de &its$ Aunue el o&!eto se con#ierta al %ormato de mapa de &its) los datos #ectoriales se mantienen tal cual) con el %in de ue) en todo momento) el o&!eto pueda con#ertirse de nue#o al %ormato #ectorial$ Mejoras en Ia importacin de vdeo: 4ara %acilitar el resultado con %ormatos de #*deo) Flash 8 inclu-e un cdec independiente de calidad superior capa' de competir con los me!ores cdecs de #*deo actuales con un tama.o de archi#o mucho m1s peue.o$ Adem1s de una ,ran posi&ilidad de re#estimientos para los controles de ste en nuestra pel*cula$ CompatibIidad Metadatos: Inclu-e tus S?F en &uscadores de internet con la nue#a caracter*stica de de%inicin de archi#o con un t*tulo) una descripcin -@o pala&ras cla#e para ue los motores de &>sueda re%le!en con m1s precisin el contenido representado por el archi#o$ EmuIador para dispositivos mviIes: 4rue&a tus pel*culas destinadas a dispositi#os m#iles compati&les con Flash Lite con el nue#o emulador ue incorpora Flash 8$ 4odr1s pro&ar tus pel*culas de un modo e%iciente antes de pu&licarlas$ Asistente de ActionScript: 8l Asistente de ActionScript ha #uelto$ Fue eliminado en la #ersin anterior) pero se ha #uelto a recuperar) - de %orma me!orada) en esta >ltima$ Ahora ActionScript al alcance de tu mano$ Unidad 1. Introduccin a Flash 8 (II) Las alternati#as a Flash 8$ Aa#ascript
0esde hace mucho tiempo) el len,ua!e H6ML ha mostrado carencias important*simas en todos los aspectos$ 8l H6ML crea p1,inas (e& est1ticas) p1,inas en las ue todo el mo#imiento ue podemos encontrar se de&e a im1,enes animadas (+IFS) o a #*deos insertados en ellas$$$ 8ste len,ua!e) re#olucionario en su d*a) demostr pronto ue era insu%iciente en todos los campos$ 4ronto comen'aron a sur,ir alternati#as5 8l Javascript naci con el o&!eto de crear acciones o pro,ramas cortos ue se pudieran insertar en la (e& para darle #ida$ 8l Aa#ascript) no es un len,ua!e de pro,ramacin propiamente dicho) pues slo crea BaccionesB ue se e!ecutar1n posteriormente en el na#e,ador ue #isualice la p1,ina) !am1s podremos crear un 3 pro,rama en Aa#ascript) slo complementos para la (e&$ 8ste len,ua!e presenta #arios incon#enientes) en primer lu,ar) su e!ecucin puede resultar peli,rosa para la persona ue accede a una (e&) por lo ue muchas personas optan por desacti#ar el BAa#ascriptB de sus na#e,adores$ Si nuestra p1,ina (e& contiene mucho cdi,o Aa#ascript) simplemente) no lo #er1n$ 8n se,undo lu,ar - como con casi todo) e"isten na#e,adores (cada #e' menos) eso s*) ue no lo soportan - ser*a in>til intentar e!ecutar un cdi,o Aa#ascript si el na#e,ador no lo reconoce$ Adem1s) el Aa#ascript no sir#e para crear p1,inas (e&) tan slo las complementa) por lo ue su uso ,eneral suele estar en%ocado a peue.as Ba-udasB en la interacti#idad de la (e&) como por e!emplo reali'ar compro&aciones en los %ormularios) e%ectos en la &arra de estado$$$ )$ 0e&emos destacar adem1s) ue Flash puede tra&a!ar con!untamente con !a#ascript - e!ecutar cdi,os - %unciones Aa#ascript sin pro&lemas) por lo ue Aa#ascript se con#ierte en una a-uda para todos los usuarios de Flash 8$ 4ara #er unos e!emplos de usos de Aa#ascript - sus cdi,os) #isita nuestra 41,ina A#an'ada Las alternati#as a Flash 8$ 7SS
Aunue muchos no se ha-an dado cuenta) H6ML tiene una potencia mu- limitada en el tratamiento de te"tos$ 0e hecho) el principal pro&lema del H6ML a la hora de mostrar - distri&uir te"tos por pantalla no suele ser su incapacidad para hacerlo (las posi&ilidades ue permite suelen ser m1s ue su%icientes para cualuier usuario normal)) sino ue su pro&lema es la %alta de precisin$ As*) resulta pr1cticamente imposi&le ase,urar ue el te"to #a-a a aparecer tal - como -o uiero en el na#e,ador de otra persona) o por e!emplo) el H6ML no permite crear !usti%icados de te"tos o simplemente de!ar un mar,en a la i'uierda del documento$$$ 4ara esto se crearon las Hojas de EstiIo en Cascada (CSS en in,ls)$ Su potencia es mucha) - cuentan con la #enta!a de ue se han con#ertido en un est1ndar (aunue siempre ha&r1 al,uien incapa' de #isuali'ar un contenido ue use una ho!a de estilo)$ Adem1s de permitir administrar los te"tos e im1,enes como ueramos por nuestra p1,ina (e&) son una %orma ma,n*%ica de simpli%icar el cdi,o de la p1,ina (e& - de acelerar su creacin) -a ue como su nom&re indica son BHo!as de 8stiloB) una #e' creado el tratamiento ue ueremos dar a un tipo de te"to (por e!emplo) a los t*tulos)) todos los t*tulos ue creemos - los identi%iuemos como tales) tendr1n ese tratamiento (color) tama.o de la letra) tipo de %uente$$$)$ +racias a las 7SS hemos ,anado en control so&re nuestras p1,inas (e&) - tal #e' en #istosidad - dise.o) pero no sir#en para crear animaciones$ 4or u no usarlas dentro de Flash? 4 4ues porue esto no esta&a contemplado en las anteriores #ersiones de Flash$ 0esde la #ersin :33; (Flash 8) las ho!as de estilo son per%ectamente compati&les con Macromedia Flash) simplemente porue pueden asociarse con te"tos empleados dentro de nuestra pel*cula sin m1s ue asi,nar la ho!a de estilo ue ueramos a la propiedad St-leSheet del o&!eto te"to al ue ueramos aplicar la ho!a de estilo$ 4or tanto) las 7SS han de!ado de ser una alternati#a al uso de Flash - han pasado a uedar inte,radas dentro del mismo$ Ctra #enta!a de usar Flash$ Las alternati#as a Flash 8$ 0H6ML$ AAA9$
Hemos #isto como se solucionan los principales pro&lemas ue tiene el H6ML) pero a>n %alta por sa&er cmo se intenta eliminar esa BestaticidadB caracter*stica de las p1,inas H6ML$ La primera solucin #iene del propio H6ML$ Se llama DHTML (o H6ML 0in1mico) - como su nom&re indica se cre para crear contenidos en mo#imiento en las p1,inas (e&$ Su %uncionalidad lle,a hasta mo#er o&!etos por la (e&) - so&re todo) se emplea para crear men>s animados$ Se,uro ue ha&eis #isto un montn sin daros cuenta$ Suelen tener esta apariencia5
8n realidad el 0H6ML no es m1s ue una com&inacin de H6ML - Aa#ascript (de ah* ue lo ha-amos de!ado para el %inal)) aunue es una &uena solucin para crear men>s #istosos sin animaciones e"traordinarias$ Su incon#eniente? Ha- demasiados na#e,adores ue tiene pro&lemas con l - su car,a puede ser lenta o retardada$$$ Asynchronous JavaScript and XML) o Ajax) es una nue#a tcnica de pro,ramacin para crear interacti#idad en la (e& %ormada por la com&inacin de #arias tecnolo,*as -a conocidas5 D 9H6ML (o H6ML - 7SS para dar %ormato - estilos)$ D 0CM ( 0ocument C&!ect Model) para manipular la in%ormacin presentada de %orma din1mica e interacti#a a tra#s de Aa#aScript$ 5 D 8l o&!eto XMLHttpRequest para intercam&iar datos de %orma as*ncrona con el ser#idor (e&$ 8l 8terno 0e&ate
E ante todo esto Qu nos o%rece Flash? 4ues Flash es) con di%erencia) la herramienta m1s potente del mercado para crear contenido multimedia para la (e& pero presenta dos incon#enientes importantes$ 8l primero es la compati&ilidad con FLASH$ Al i,ual ue al,unos na#e,adores no soportan !a#ascript o no pueden #er contenidos 0H6ML (o incluso 7SS)) para poder #er FLASH se reuiere un 4LF+I= especial de la casa Macromedia$ Fn 4LF+I= es un pro,ramita especial ue permite a tu na#e,ador identi%icar las pel*culas FLASH - descar,arlas - #isuali'arlas correctamente$ 8ste 4LF+I= es ,ratuito$ 4uedes descar,arlo AQFG$ 4or suerte) cada #e' m1s na#e,adores lo lle#an incorporado - cada #e' m1s ,ente sa&e lo ue es - no se asusta cuando se le o%rece$ As* ue cada #e' m1s ,ente lo tiene$ 8l se,undo pro&lema es el tama.o ue ocupan las pel*culas - su tiempo de descar,a$ Mientras ue una p1,ina H6ML puede ocupar unos H3 IJ como media) una animacin Flash ocupa mucho m1s$ 8#identemente depende del contenido ue ten,a) pero suelen superar los H33 IJ con %acilidad) - si adem1s incorpora sonidos es %1cil ue la ci%ra se dispare$ Al ocupar m1s espacio) el tiempo ue tarda en estar #isi&le el contenido Flash es ma-or - no todos los #isitantes est1n dispuestos a esperar$$$ simplemente) se ir1n a 7on Flash se pueden hacer p1,inas (e& realmente asom&rosas 6 otra p1,ina$ 4or otra parte) las cone"iones de &anda ancha son cada #e' m1s numerosas) lo ue ellimina el pro&lema del tiempo de descar,a) pero el d*a en el ue todo el mundo se conecte a internet a alta #elocidad a>n est1 le!os) as* ue el de&ate se,uir1 a&ierto mucho tiempo$ Au* teneis al,unas p1,inas interesantes hechas con FLASH 2Advanced Studios NRG Ikea
Kesumiendo) insertar o no contenido Flash en una p1,ina (e& puede ser cuestiona&le (a d*a de ho-)) aunue depende de muchas cosas) al i,ual ue insertar 0H6ML) por e!emplo$ A>n as*) no hemos de ol#idar ue Flash tiene much*smas aplicaciones m1s (hecho ue ha pro#ocado ue otras compa.*as traten de sacar a la #enta BclnicosB del Flash)$ 4or e!emplo la creacin de 70s interacti#os (como los ue inclu-en las re#istas de in%orm1tica) por e!emplo)) la creacin de &anners pu&licitarios o lo ue m1s est1 de moda ahora5 la creacin de di&u!os animados usando Flash 8 (os sorprender*a sa&er la cantidad de di&u!os animados conocidos creados o animados mediante Flash)$ Adem1s) Flash tiene uso industrial) pues se emplea para optimi'ar planos) crear dise.os de interiores - tra&a!ar con im1,enes #ectoriales en ,eneral$ =o de!eis de aprender a mane!ar el pro,rama con m1s %uturo$$$ (al menos en cu1nto a dise.o (e&) 4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema H$ 4rue&a 8#aluati#a 6ema H5 Introduccin a Flash 8 7 Solo una respuesta es #1lida por pre,unta$ Ha' clic en la respuesta ue consideres correcta$ 7ontesta todas las pre,untas - ha' clic en el &otn Corregir para #er la solucin$ Si pulsas RestabIecer podr1s repetir la e#aluacin$ 1. Flash 8 fue creado por Adobe, de ah su perfecta integracin con Photoshop. a) Verdadero. b) Falso. 2. Flash comenz siendo un programa para crear animaciones web sencillas, gifs animados ... con el paso de los a!os se ha con"ertido en el software referente de creacin de aplicaciones web interacti"as. a) Verdadero. b) Falso. #. Flash 8 resulta un poco m$s incmodo de mane%ar &ue su "ersin anterior, pues contiene nue"as funcionalidades &ue complican su mane%o. a) Verdadero. b) Falso. '. Flash 8 dispone de un corrector sint$ctico(sem$ntico &ue facilitan el traba%o con te)tos. a) Verdadero. b) Falso. *. Flash 8 soporta traba%ar con nue"os formatos de ficheros, tales como ficheros +P, P-F. a) Verdadero. b) Falso. .. +l nue"o Flash inclue un buscador web, &ue nos permite localizar ob%etos, te)tos, animaciones etc por toda la web. a) Verdadero. 8 b) Falso. /. 0as animaciones o pelculas generadas por Flash 8 tendr$n un rendimiento generalmente maor &ue las creadas con Flash 211'. a) Verdadero. b) Falso. 8. +l lengua%e de programacin de Flash, ha sido me%orado en la nue"a "ersin, Flash 8, ahora se llama Action,cript 2. a) Verdadero. b) Falso. 2. 0as 3o%as de +stilo en 4ascada son una gran inno"acin para la edicin de te)to Flash 8 no es capaz de competir con su capacidad para traba%ar con ellos. a) Verdadero. b) Falso. 11. +l nue"o Action,cript 2 a no es capaz de traba%ar con 5a"ascript, pues 6ste 7ltimo ha &uedado desfasado. a) Verdadero. b) Falso. 4rue&a 8#aluati#a 6ema H5 Introduccin a Flash 8 Solo una respuesta es #1lida por pre,unta$ Ha' clic en la respuesta ue consideres correcta$ 7ontesta todas las pre,untas - ha' clic en el &otn Corregir para #er la solucin$ Si pulsas RestabIecer podr1s repetir la e#aluacin$ 1. Flash 8 fue creado por Adobe, de ah su perfecta integracin con Photoshop. a) Verdadero. 9 b) Falso. 2. Flash comenz siendo un programa para crear animaciones web sencillas, gifs animados ... con el paso de los a!os se ha con"ertido en el software referente de creacin de aplicaciones web interacti"as. a) Verdadero. b) Falso. #. Flash 8 resulta un poco m$s incmodo de mane%ar &ue su "ersin anterior, pues contiene nue"as funcionalidades &ue complican su mane%o. a) Verdadero. b) Falso. '. Flash 8 dispone de un corrector sint$ctico(sem$ntico &ue facilitan el traba%o con te)tos. a) Verdadero. b) Falso. *. Flash 8 soporta traba%ar con nue"os formatos de ficheros, tales como ficheros +P, P-F. a) Verdadero. b) Falso. .. +l nue"o Flash inclue un buscador web, &ue nos permite localizar ob%etos, te)tos, animaciones etc por toda la web. a) Verdadero. b) Falso. /. 0as animaciones o pelculas generadas por Flash 8 tendr$n un rendimiento generalmente maor &ue las creadas con Flash 211'. a) Verdadero. 10 b) Falso. 8. +l lengua%e de programacin de Flash, ha sido me%orado en la nue"a "ersin, Flash 8, ahora se llama Action,cript 2. a) Verdadero. b) Falso. 2. 0as 3o%as de +stilo en 4ascada son una gran inno"acin para la edicin de te)to Flash 8 no es capaz de competir con su capacidad para traba%ar con ellos. a) Verdadero. b) Falso. 11. +l nue"o Action,cript 2 a no es capaz de traba%ar con 5a"ascript, pues 6ste 7ltimo ha &uedado desfasado. a) Verdadero. b) Falso. 11 Unidad 2. Mi primera Animacin Flash 7omen'ando
Fna de las caracter*sticas principales de Flash 8 es su sencille') esta sencille' en su utili'acin permite crear animaciones de un modo e%ecti#o - r1pido$ 4on,1monos en situacin) supon,amos ue ueremos crear una animacin en la ue una pelota realice un mo#imiento de B&oteB) es decir) ue &a!e - su&a$ 4uede parecer un tra&a!o de horas) pero nada m1s le!os de la realidad$ /eamos cmo Flash nos lo pone %1cil$ Keali'ando la Animacin 8n este apartado no pretendemos ense.ar cmo crear una animacin Flash (pues eso se #er1 m1s adelante)) el o&!eti#o es ue entendamos cmo crea Flash las animaciones - de ue modo nos %acilita el tra&a!o$ A primera #ista) lo l,ico parece ser di&u!ar la pelota en cada instante del mo#imiento) de modo ue cuantos m1s instantes di&u!emos) m1s real parecer1 el mo#imiento$ 4ues &ien) con Flash &astar1 con crear 2 %oto,ramas5 en el primero di&u!aremos la pelota en el instante inicial (arri&a del todo)) en el se,undo se di&u!ar1 la pelota en el momento de tocar el suelo - en el tercero la pelota #ol#er1 a estar arri&a (en realidad este tercer %oto,rama no har1 %alta crearlo) pues &astar1 con copiar el primero)$ 4or tanto) #emos ue el tra&a!o m1s lar,o (di&u!ar los o&!etos) -a est1 hecho$
12 Ahora) se determina el tiempo ue durar1 cada mo#imiento (es decir) el tiempo ue transcurre entre los instantes en los ue la pelota est1 arri&a - a&a!o) - por >ltimo se le indica a Flash ue cree una animacin de mo#imiento entre estos %oto,ramas$ F1cil #erdad? C&ser#a como ha uedado5 4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema : $ Unidad 3. 8l 8ntorno de 6ra&a!o (I) La Inter%a' de Flash 8
Flash 8 cuenta con un entorno o inter%a' de tra&a!o de lo m1s mane!a&le e intuiti#a$ Adem1s) tiene la #enta!a de ue es similar a la de otros pro,ramas de Macromedia (0ream(ea#er) Freehand) 0irector$$$)) todo esto hace m1s %1cil aprender Flash - m1s r1pido su mane!o - dominio$ 8sto es lo ue nos encontraremos al a&rir Flash 8 por primera #e'5 13 A lo largo de todo el curso trabajaremos con la versin de evaluacin de Flash 8 en castellano. odeis descargar esta versin de !orma gratuita desde A"#$ 8n la ima,en se puede #er la inter%a' ue nos encontraremos la primera #e' ue a&ramos el pro,rama Flash$ Flash recordar1 nuestras pre%erencias - a&rir1 el pro,rama tal - como lo de!amos la >ltima #e' ue lo utili'amos$ 8n esta ima,en %altan al,unos men>s$ 6odos se ir1n #iendo a lo lar,o de este curso aunue no apare'can en esta ima,en) ue slo pretende mostrar las partes principales de la inter%a' de Flash$ /eamos cu1les son5 La Jarra de Men>s 14 La Barra de Mens tiene como propsito %acilitar el acceso a las distintas utilidades del pro,rama$ 8s similar a la de cualuier otro pro,rama de dise.o (e& o ,r1%ico) aunue tiene al,unas particularidades$ /eamos los principales Submens a los ue se puede acceder5 Archivo: 4ermite crear nue#os archi#os) a&rirlos) ,uardarlos$$$ 0estaca la potencia de la utilidad Importar ue inserta en la pel*cula actual casi todo tipo de archi#os (sonidos) #*deo) im1,enes e incluso otras pel*culas Flash)) o la de Configuracin de PubIicacin desde donde se pueden modi%icar las caracter*sticas de la pu&licacin$ 6am&in permite con%i,urar la impresin de las p1,inas) imprimirlas$$$ Edicin: 8s el cl1sico men> ue te permite Cortar, Copiar, Pegar... tanto o&!etos o di&u!os como %oto,ramas< tam&in permite personali'ar al,unas de las opciones m1s comunes del pro,rama$ Ver: Adem1s de los t*picos Looms) te permite mo#erte por los %oto,ramas - por las escenas$ 6am&in inclu-e la posi&ilidad de crear una cuadr*cula - unas ,u*as$ 8sto se puede seleccionar desde los su&men>s CuadrcuIa y Guas desde donde tam&in se pueden con%i,urar sus opciones$ Insertar: 6e permite insertar o&!etos en la pel*cula) as* como nue#os %oto,ramas) capas) acciones) escenas$$$ Modificar: La opcin Transformar permite modi%icar los ,r1%icos e"istentes en la pel*cula) - la opcin Trazar Mapa de Bits con#ierte los ,r1%icos en mapas #ectoriales (este tema se tratar1 m1s adelante)$ 8l resto de opciones permite modi%icar caracter*sticas de los elementos de la animacin Suavizar, Optimizar o de la propia pel*cula (Capa, Escena ...)$ Texto: Sus contenidos a%ectan a la edicin de te"to$ M1s adelante se tratar1 en pro%undidad$ Comandos: 4ermite administrar los 7omandos (con!unto de sentencias almacenadas ue permiten emular lo ue un usuario pueda introducir en el entorno de edicin) ue ha-amos almacenado en nuestra animacin) o&tener otros nue#os de la p1,ina de Macromedia o e!ecutar los ue -a ten,amos$ ControI: 0esde au* se modi%ican las propiedades de reproduccin de la pel*cula$ Reproducir, Rebobinar, Probar PeIcuIa $$$$ Ventana: 8ste men>) adem1s de las opciones cl1sicas acerca de cmo distri&uir las #entanas) inclu-e accesos directos a TODOS los 4aneles$ 15 Ayuda: 0esde au* podemos acceder a toda la a-uda ue nos o%rece Macromedia) desde el manual e"istente) hasta el diccionario de Action Script) pasando por tutoriales) lecciones ,uiadas etc$$$ 4ara practicar estas operaciones te aconse!amos reali'ar 8!ercicio 7rear +u*as Unidad 3. 8l 8ntorno de 6ra&a!o (II) La L*nea de 6iempo
La Lnea de Tiempo representa una %orma de #er los %oto,ramas de modo simpli%icado$ 7onsta de : partes$ 1) Los Fotogramas (frames) ue #ienen delimitados por l*neas #erticales (%ormando rect1n,ulos) 2) Los Nmeros de Fotograma ue permiten sa&er u n>mero tiene asi,nado cada %oto,rama) cu1nto dura o cu1ndo aparecer1 en la pel*cula$ Adem1s) en la parte in%erior ha- herramientas para tra&a!ar con PapeI ceboIIa e in%ormacin so&re el Nmero de Fotograma actuaI (H en la ima,en)) la VeIocidad de Ios Fotogramas (H:$3 en la ima,en) - el Tiempo de peIcuIa transcurrido (3$3s en la ima,en)$ A ni#el conceptual) la Lnea de Tiempo representa la sucesin de Foto,ramas en 16 el tiempo$ 8s decir) la pel*cula Flash no ser1 nada m1s ue los %oto,ramas ue aparecen en la Lnea de tiempo uno detr1s de otro) en el orden ue esta&lece la misma Lnea de tiempo. 4ara sa&er m1s acerca de la Lnea de Tiempo - de los distintos tipos de %oto,ramas ue e"isten #isita nuestra 41,ina A#an'ada Las 7apas
8l concepto de Capa es %undamental para mane!ar Flash de %orma e%iciente$ 0ada la importancia de estas) se le dedicar1 un tema completo$ A>n as*) #eamos a ,randes ras,os u son las capas$ Fna Capa se puede de%inir como una pel*cula independiente de un >nico ni#el$ 8s decir) una capa contiene su propia L*nea de 6iempo (con in%initos %oto,ramas)$ Los o&!etos ue estn en una determinada capa comparten %oto,rama - por tanto) pueden Bme'clarseB entre s*$ 8sto es interesante a menudo) pero otras #eces es con#eniente separar los o&!etos de modo ue no inter%ieran entre s*$ 4ara ello) crearemos tantas capas como sea necesario$ 8l uso de m>ltiples capas adem1s) da lu,ar a pel*culas &ien ordenadas - de %1cil mane!o (es con#eniente colocar los sonidos en una capa independiente llamada BSonidosB) por e!emplo)$ Las #enta!as - des#enta!as de usar capas se #er1 en el 6ema 8$ 8l Mrea de 6ra&a!o 17 8l Mrea de tra&a!o consta de numerosas partes) #e1moslas5 La parte m1s importante es el Escenario, so&re el escenario di&u!aremos - colocaremos los di%erentes elementos de la pel*cula ue estemos reali'ando$ 8l escenario tiene unas propiedades mu- importantes) -a ue coinciden con las Propiedades deI documento. 4ara acceder a ellas) ha,amos clic con el &otn derecho so&re cualuier parte del escenario en la ue no ha-a nin,>n o&!eto - despus so&re Propiedades deI documento5 A.ade metadatos a tus archi#os para una me!or inclusin de estos en los motores de &usueda rellenando los campos de TtuIo - Descripcin$ Dimensiones: 0eterminan el tama.o de la pel*cula$ 8l tama.o m*nimo es de H " H p" (p*"eles) - el m1"imo de :883 " :883 p"$ Coincidir: 4ro#ocan ue el tama.o de la pel*cula coincida con el &otn seleccionado (tama.o por de%ecto de la Impresora) 7ontenidos e"istentes o los ele,idos como 4redeterminados) CoIor de Fondo: 8l color au* seleccionado ser1 el color de %ondo de toda la pel*cula$ 18 VeIoc. Fotogramas: C n>mero de %oto,ramas por se,undo ue aparecer1n en la pel*cula$ Unidades de RegIa: Fnidad ue se emplear1 para medir las cantidades$ 6rans%ormar en predeterminado5 8ste &otn) propio de la nue#a #ersin de Flash) permite almacenar las propiedades del documento actual - aplicarlas a todos los documentos nue#os ue se creen desde ese instante en adelante$ 8stas propiedades por supuesto podr1n ser alteradas desde este panel cuando se desee$ 4ara practicar estas operaciones te aconse!amos reali'ar 8!ercicio 7am&iar 4ropiedades de la 4el*cula Unidad 3. 8l 8ntorno de 6ra&a!o (III) Las /istas o Looms La Herramienta Lupa se emplea para acercar o ale!ar la #ista de un o&!eto) permitiendo a&arcar m1s o menos 'ona del Entorno de Trabajo. 7ada #e' ue ha,amos clic en la Lupa duplicaremos el porcenta!e indicado en el PaneI Zooms$ 4anel Zooms: Son un con!unto de accesos directos a Su&men>s e"istentes en el Men> Ver. Son mu- >tiles - a-udan a acelerar el tra&a!o cuando se emplean correctamente$ 4ara sa&er m1s acerca de los Zooms #isita nuestra 41,ina J1sica Los 4aneles
19 Los PaneIes son con!untos de comandos a,rupados se,>n su %uncin (por e!emplo) todo lo ue ha,a re%erencia a las acciones) ir1 en el 4anel BAccionesB)$ Su misin es simpli%icar - %acilitar el uso de los comandos$ 6odos ellos se estudiar1n en pro%undidad a lo lar,o del curso$ A>n as*) #amos a nom&rarlos - a resumir las %unciones de la ma-or*a de ellos$ 4anel AIinear: 7oloca los o&!etos del modo ue le indiuemos$ Mu- >til$ 4anel MezcIador de CoIores: Mediante este panel creamos los colores ue m1s nos ,usten$ 4anel Muestras de CoIor: =os permite seleccionar un color de modo r1pido - ,r1%ico$ (Incluidas nuestras creaciones)$ 4anel Informacin: Muestra el tama.o - las coordenadas de los o&!etos seleccionados) permitindonos modi%icarlas$ Mu- >til para alineaciones e"actas$ 4anel Escena: Modi%ica los atri&utos de las escenas ue usemos$ Si a>n no sa&es lo ue son las Escenas, te lo e"plicamos en nuestro tema &1sico 4anel Transformar: 8nsancha) enco,e) ,ira $$$ los o&!etos seleccionados$ 4anel Acciones: 0e ,ran a-uda para emplear Action Script - asociar acciones a nuestra pel*cula$ 4anel Comportamientos: 4ermiten asi,nar a determinados o&!etos una serie de caracter*sticas (comportamientos) ue despus podr1n almacenarse para aplicarse a otros o&!etos de %orma r1pida - e%ica'$ 4anel Componentes: =os permite acceder a los 7omponentes -a construidos - listos para ser usados ue nos proporciona Flash$ Los componentes son o&!etos Binteli,entesB con propiedades caracter*sticas - muchas utilidades (calendarios) scrolls etc$$$) 4anel Cadenas: Mediante este panel Flash 8 aporta soporte multiDidioma a nuestras pel*culas$ 4anel Respuestas: Macromedia pone a nuestra disposicin a-uda - conse!os accesi&les desde este panel$ 4anel Propiedades: Sin duda) el panel m1s usado - m1s importante$ =os muestra 20 las propiedades del o&!eto seleccionado en ese instante) color de &orde) de %ondo) tipo de tra'o) tama.o de los caracteres) tipo,ra%*a) propiedades de los o&!etos (si ha- interpolaciones etc$$$)) coordenadas) tama.o etc$$$ 8s %undamental) no de&eis perderlo de #ista nunca$ 4anel ExpIorador de PeIcuIas: =os permite acceder a todo el contenido de nuestra pel*cula de %orma %1cil - r1pida
4ara practicar estas operaciones te aconse!amos reali'ar 8!ercicio Acceder a los 4aneles
8!ercicios del 6ema 2$
4rue&a e#aluati#a del 6ema 2$ Unidad 4. 0i&u!ar - 7olorear (I) 8l 0i&u!o en Flash 8
7uando se dise.a una p1,ina (e& o una animacin el dise.ador pasa por muchas %ases$ 6ras la %ase de BQu uiero crear - cmo #a a serB #iene (normalmente) la %ase de dise.o ,r1%ico$ Lle#ar lo ue ha producido tu ima,inacin al papel (en este caso al papel de Flash)$ =o con#iene en,a.arnos) Flash no es un pro,rama de dise.o ,r1%ico) pero su 21 potencia en este 1m&ito es casi tan ,rande como la de stos pro,ramas$ /amos a #er cmo emplear cada herramienta de di&u!o para sacarle el m1"imo partido$ La Jarra de Herramientas$ Herramientas J1sicas$ La Barra de Herramientas contiene todas las Herramientas necesarias para el di&u!o$ /eamos cu1les son las m1s importantes - cmo se usan5 Herramienta SeIeccin (fIecha): $ 8s la herramienta m1s usada de todas$ Su uso principal es para seleccionar o&!etos$ permite seleccionar los &ordes de los o&!etos) los rellenos (con un slo clic)) los &ordes (con do&le clic)) 'onas a nuestra eleccin$$$ Adem1s) su uso adecuado puede ahorrarnos tiempo en el tra&a!o$ Herramienta Lnea: 4ermite crear l*neas rectas de un modo r1pido$ Las l*neas se crean como en cualuier pro,rama de di&u!o) se hace clic - se arrastra hasta donde ueramos ue lle,ue la l*nea recta$ Fna #e' creada la podemos modi%icar sin m1s ue seleccionar situar el cursor encima de los e"tremos para estirarlos - en cualuier otra parte cercana a la recta para cur#arla$ Herramienta Texto: 7rea un te"to en el lu,ar en el ue ha,amos clic$ Sus propiedades se #er1n en el tema si,uiente$ Herramienta vaIo: La herramienta vaIo permite tra'ar c*rculos o elipses de manera r1pida - sencilla$ 4ara practicar el mane!o de esta Herramienta) te aconse!amos reali'ar 8!ercicio 7rear N#alo 4ara practicar el mane!o de esta Herramienta) te aconse!amos reali'ar 8!ercicio 0ar color a un N#alo Herramienta RectnguIo: Su mane!o es idntico al de la Herramienta N#alo) tan solo se di%erencian en el tipo de o&!etos ue crean$ Herramienta Lpiz: 8s la primera Herramienta de di&u!o propiamente dicho$ 4ermite di&u!ar l*neas con la %orma ue decidamos) 22 modi%icando la %orma de estas a nuestro ,usto$ 8l color ue aplicar1 esta Herramienta se puede modi%icar) &ien desde el 4anel MezcIador de CoIores o &ien desde el su&panel CoIores ue ha- en la Barra de Herramientas. Herramienta Brocha: Su %uncionalidad eui#ale a la del l1pi') pero su tra'o es mucho m1s ,rueso$ Se suele emplear para aplicar rellenos$ Se puede modi%icar su ,rosor - %orma de tra'o$ Herramienta Cubo de Pintura: 4ermite aplicar rellenos a los o&!etos ue ha-amos creado$ Al contrario ue muchos otros pro,ramas de di&u!o) no permite aplicar rellenos si la 'ona no est1 delimitada por un &orde$ 8l color ue aplicar1 esta Herramienta se puede modi%icar) &ien desde el 4anel MezcIador de CoIores o &ien desde el su&panel CoIores ue ha- en la Barra de Herramientas. Herramienta Borrador: Su %uncionamiento es an1lo,o a la Herramienta Jrocha$ 4ero su %uncin es la de eliminar todo auello ue Bdi&u!eB$ La Jarra de Herramientas$ Herramientas A#an'adas$
Herramienta Lazo: Su %uncin es complementaria a la de la Herramienta FIecha) pues puede seleccionar cualuier cosa) sin importar la %orma) (la Herramienta Flecha slo puede seleccionar o&!etos o 'onas rectan,ulares o cuadradas)$ 8n contrapartida) la Herramienta Lazo no puede seleccionar rellenos u o&!etos (a menos ue ha,amos la seleccin a mano)$ Al seleccionar esta Herramienta) en el 4anel Cpciones aparecen estas im1,enes5 $ 8sto) es la Herramienta Varita Mgica) tan popular en otros pro,ramas de di&u!o$ 4ermite hacer selecciones se,>n los colores de los o&!etos$ 8l tercer di&u!o ue aparece es este5 permite hacer selecciones poli,onales$ Herramienta PIuma: 7rea pol*,onos (- por tanto rectas) rect1n,ulos$$$) de un modo sencillo$ Mucha ,ente encuentra esta herramienta complicada) aunue es una de las m1s potentes ue o%rece Flash$ Su empleo consiste en hacer clic en los lu,ares ue ueramos de%inir como #rtices de los pol*,onos) lo ue nos ase,ura una ,ran precisin$ 4ara crear cur#as) ha- ue se.alar los puntos ue la delimitan - posteriormente tra'ar las tan,entes a ellas$ 7on un poco de pr1ctica se aca&a 23 dominando$ Herramienta SubseIeccionador: 8sta Herramienta complementa a la Herramienta PIuma) -a ue permite mo#er o a!ustar los #rtices ue componen los o&!etos creados con dicha herramienta$ Herramienta Bote de Tinta: Se emplea para cam&iar r1pidamente el color de un tra'o$ Se aplica so&re o&!etos) si tienen &orde) cam&ia al color mostrado de dicho &orde) por el mostrado en el 4anel MezcIador de CoIores (ue coincide con el su&panel CoIores ue ha- en la Barra de Herramientas.) Herramienta Cuentagotas: Su misin es B7apturarB colores para ue posteriormente podamos utili'arlos$ 4ara #er cmo %unciona) aconse!amos #er la si,uiente animacin5 24 Unidad 4. 0i&u!ar - 7olorear (II) La Jarra de Herramientas$ Cpciones Al,unas Herramientas poseen unas opciones especiales ue %acilitan - potencian su uso$ 4ara acceder a estas utilidades) a #eces no &asta con hacer clic en la Herramienta correspondiente$ La %orma de acceder a este Su&men> consiste en hacer clic en la l*nea o en el o&!eto ue has di&u!ado$ 8ntonces aparecer1 (o se iluminar1 si -a esta&a presente) un su&men> como este5 Ajustar a Objetos : Se usa para o&li,ar a los o&!etos a Benca!arB unos con otros) es decir) para ue en caso de ser posi&le) sus &ordes se superpon,a) dando la sensacin de estar BunidosB$ Suavizar: 7on#ierte los tra'os rectos en l*neas menos r*,idas$ Enderezar: Keali'a la la&or in#ersa$ 7on#ierte los tra'os redondeados en m1s rectil*neos$ 8l 4anel Me'clador de 7olores 8l 4anel MezcIador de CoIores) como su nom&re indica se usa para %a&ricar nuestros propios colores - para seleccionar los ue m1s nos ,usten$ 4ara seleccionar un color determinado) &astar1 con hacer clic en las pesta.as ue se encuentran !unto a los iconos de las Herramientas de Lpiz - de Bote de Pintura$ (Si ueremos modi%icar el color de un &orde) pulsaremos so&re la pesta.a ue est1 !unto a la Herramienta Lpiz - si ueremos modi%icar un relleno) haremos clic en la pesta.a ue est1 !unto a la Herramienta Bote de Pintura.) Al hacerlo aparecer1 un 4anel con multitud de colores para ue seleccionemos el ue m1s nos ,usta$ 6am&in permite introducir el cdi,o del color se,>n el standard ue esta&lece el H6ML$ 6am&in se puede determinar el tipo de relleno ue aplicaremos a los o&!etos creados (mediante la Herramienta Bote de Pintura)$ Se pueden crear di%erentes tipos de Kellenos 25 Unidad 5. 6ra&a!ar con 6e"tos (I) 7omen'ando Flash a&arca todo auello ue nos pueda hacer %alta a la hora de crear una animacin) - por tanto) tam&in todo auello relati#o a los te"tos$ Sin em&ar,o) Flash %ue conce&ido para crear animaciones ,r1%icas) de modo ue tratar1 cualuier te"to como si de un o&!eto m1s se tratase) listo para ser animado a nuestro ,usto$ 8sto nos permitir1 posteriormente animar te"tos - crear espectaculares animaciones con mu- poco es%uer'o$ Flash disti,ue entre 2 tipos de te"to) te"to est1tico o normal) te"to din1mico - te"to de entrada (para ue el usuario introdu'ca sus datos) por e!emplo)) tam&in se puede crear te"to ue soporte %ormato H6ML etc$$$ 4ropiedades de los 6e"tos 4ara poder escri&ir) de&eremos hacer clic en la Herramienta Texto - posteriormente en el punto del escenario en el ue ueramos empe'ar a escri&ir$ 4ara sa&er m1s acerca de Cmo escribir textos #isita nuestra 41,ina A#an'ada 8l 4anel Propiedades contiene las principales propiedades de todos los o&!etos ue empleemos durante nuestra pel*cula) de modo ue si seleccionamos un te"to) podremos #er en l todo lo ue nos hace %alta conocer so&re nuestro te"to$ Si tenemos e"periencia usando Flash O) notaremos ue todas las propiedades ue antes se encontra&an en los 4aneles Carcter - Prrafo) se encuentran a,rupadas ahora en el 4anel Propiedades. 4anel 4ropiedades /eamos a %ondo el 4anel Propiedades5 Fuente: 0esde au*) al i,ual ue en los editores de te"to m1s comunes podemos seleccionar el tipo de letra o B%uenteB ue m1s nos ,uste$ AItura: 0etermina el espaciado entre los caracteres$ Ptil cuando la tipo,ra%*a ue empleamos muestra las letras mu- !untas o para dar e%ectos concretos 26 al te"to$ Direccin deI Texto: 7am&ia la orientacin del te"to de hori'ontal a #ertical) tanto de i'uierda a derecha como de derecha a i'uierda$ Ajuste automtico entre caracteres: Acti#ar esta casilla pro#oca ue la separacin entre caracteres se realice de modo autom1tico$ Posicin: =os permite con#ertir nuestro te"to en su&*ndices o en super*dices (o de!arlo normal)$ URL: Si ueremos ue al pulsar so&re nuestro te"to) el usuario #a-a a una direccin (e&) nada m1s %1cil ue escri&irla ah*$ Flash la asociar1 al te"to ue ests escri&iendo en ese momento$ Destino: 0etermina si la FKL a la ue el te"to hace re%erencia se car,ar1 en la misma #entana del na#e,ador) en una nue#a $$$ Tipo de Lnea: Si el te"to ue #amos a incluir es din1mico (de lo contrario aparece sin acti#ar)) esta opcin nos permite determinar cmo ueremos ue apare'can las l*neas (l*nea >nica) multil*nea o multil*nea sin a!uste)$ Configuracin: Son las cl1sicas opciones ue permiten con#ertir el te"to en =e,rita (J)) 7ursi#a (I)) cam&iar el color del te"to - el tama.o$ Otras Propiedades: 0ado ue Flash trata los te"tos como o&!etos) stos tam&in tienen anchura) altura - coordenadas$ 4odemos modi%icarlos a nuestro ,usto) pero de&emos tener en cuenta ue los caracteres no de&en estirarse sin moti#o) pues las tipo,ra%*as son una parte mu- importante - de&en respetarse$ 27 Fn Prrafo no es m1s ue un con!unto de caracteres con propiedades comunes a todos ellos$ 8stos p1rra%os admiten ciertas opciones ue nos permiten tra&a!ar con &loues de te"to$ 8l 4anel Propiedades nos proporciona las si,uientes opciones para tra&a!ar con p1rra%os (entre otras)$ A Ia Izquierda: 6odas las l*neas empe'ar1n tan a la i'uierda como sea posi&le (dentro del recuadro de te"to ue ha-amos de%inido)$ Centrar: Las l*neas se distri&u-en a la derecha - a la i'uierda del punto medio del 41rra%o$ A Ia derecha: 6odas las l*neas empe'ar1n tan a la derecha como sea posi&le (dentro del recuadro de te"to ue ha-amos de%inido)$ Justificado: 8l te"to se ensancha si es necesario con tal de ue no uede BdentadoB por nin,uno de sus l*mites$ 8l resto de opciones nos permiten determinar los m1r,enes (i'uierdo - derecho)) los san,rados de p1rra%o - el espacio interlineal$ Unidad 5. 6ra&a!ar con 6e"tos (II) 6ipos de 6e"tos
7omo -a hemos comentado) Flash distin,ue entre di#ersos tipos de te"tos - les da un tratamiento especial) se,>n el tipo ue sean$ 6odos los tipos de te"tos responden a las propiedades comentadas en los puntos anteriores) - es en el Tipo de texto en lo ue se di%erencian$ 8l tipo de te"to se puede modi%icar desde el 4anel Propiedades sin m1s ue haciendo clic so&re la pesta.a Tipo de texto5 6e"to 8st1tico 8l Texto Esttico se caracteri'a por no presentar nin,>n cam&io a lo lar,o de la animacin$ 8s importante ue no con%undamos la pala&ra Best1ticoB con ue el te"to no se mue#a o malinterpretemos la %rase Bes el te"to ue no presenta cam&ios a lo lar,o de la animacinB$ Lo ue ueremos decir es ue no cam&ia el contenido deI recuadro de texto) es decir) ue el te"to puede estar animado (,irar) cam&iar de color$$$) - sin em&ar,o ser est1tico$ As*) un recuadro de te"to en el ue pone BAprende Flash 8B durante toda la 28 pel*cula) es est1tico) aunue dicho te"to cam&ie de posicin) %orma o color$ Sin em&ar,o) si en ese mismo recuadro de te"to pasa a poner B7on este 7ursoB) este recuadro de te"to NO es est1tico$ Se insistir1 en este punto en los e!ercicios de e#aluacin$ Los te"tos est1ticos slo tienen : propiedades e"tras5 Usar Fuentes deI Dispositivo: 8sta opcin permite ue la pel*cula Flash emplee las Fuentes ue ten,a instaladas el usuario ue #e la pel*cula en su ordenador$ Si dicho usuario dispone de las %uentes ue hemos utili'ado en la pel*cula) la #er1 e"actamente como ueremos ue la #ea) pero si no las tiene) Flash emplear1 la %uente ue m1s se le pare'ca$ 8sto muchas #eces lle#a a ue el resultado %inal (el ue #e el usuario) no se pare'ca al ue pretend*amos) por lo ue suele ser con#eniente mantener esta opcin sin seleccionar) aunue esto conlle#e un ma-or tama.o de la pel*cula %inal$ SeIeccionabIe: 7on esta opcin acti#ada el usuario podr1 seleccionar los te"tos ue apare'can en la pel*cula (cortarlos) copiarlos$$$) Act*#ala si lo crees con#eniente$ 6e"to 0in1mico
8l Texto Dinmico en contraposicin al est1tico s* ue puede cam&iar su contenido (adem1s de estar animado)$ Su uso es &astante m1s comple!o ue el del 6e"to 8st1tico) -a ue cada recuadro de te"to 0in1mico puede ser una #aria&le modi%ica&le mediante ActionScript) esto uiere decir ue los #alores - propiedades de este tipo de te"tos se pueden modi%icar mediante pro,ramacin) lo ue nos saca del o&!eti#o de este curso$ Fn uso com>n ue suelen tener es el de representar los te"tos introducidos mediante 6e"tos de 8ntrada (#er si,uiente punto)$ 6ienen multitud de propiedades) accesi&les desde el 4anel Propiedades) se puede decidir el n>mero de l*neas ue #an a tener) se puede introducir te"to H6ML) se puede a.adir %1cilmente un &orde al te"to o dar nom&re a la #aria&le ue represente al te"to 0in1mico$
6e"to de 8ntrada
8l Texto de Entrada tiene &1sicamente las mismas propiedades ue el 6e"to 0in1mico) !unto con al,unas propias de un tipo de te"to orientado a la introduccin de datos por parte de usuario) como por e!emplo el n>mero m1"imo de l*neas ue puede introducir en ese campo de te"to o si ueremos ue lo ue el usuario escri&a en dicho campo apare'ca como asteriscos (para las contrase.as)$ 29 8#identemente este tipo de te"to se re%le!ar1 en nuestra pel*cula como un recuadro de te"to SI= contenido) -a ue lo de&er1 introducir el usuario$ 7omo hemos mencionado antes) este tipo de te"to se puede com&inar con el Texto Dinmico$ 8n esta animacin (a#an'ada) podeis #er cmo5 E este es el resultado %inal5 4ara aprender a cam&iar el tipo de te"to) te aconse!amos reali'ar 8!ercicio 7am&iar tipo de te"to Flash permite crear animaciones de te"to tan interacti#as como las ue pueden crear con im1,enes (-a hemos #isto lo sencillo ue es con#ertir un te"to en un enlace a otra p1,ina (e&)$ A>n as*) crear animaciones con te"tos) ue so&repasen a las ue Flash incorpora por de%ecto (colores) transparencias) &rillos) rotaciones) mo#imientos o com&inaciones de estos) puede resultar un tra&a!o de much*simas horas - mucha paciencia$ Los resultados son incre*&les) pero puede resultar recomenda&le en estos casos usar al,unos pro,ramas dise.ados con este o&!eti#o$ 8ntre otros destacan el S(ish) el Fla9 o el Mi9DF") con ellos podr1s crear e%ectos de te"to asom&rosos en pocos minutos) aunue no podr1s ,o'ar del entorno de Flash 8 ni podr1s emplear el resto de herramientas de ue dispone$ 4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema O$ Unidad 6. 6ra&a!ar con Sonidos (I) 7omen'ando
Quin ser*a capa' de #er una pel*cula muda? E una animacin espectacular sin sonido? Hasta hace poco) los >nicos sonidos ue o*amos en las p1,inas (e& eran los %amosos BmidisB) de escaso tama.o - de escasa calidad$ 0e hecho) eran slo instrumentos musicales sin #o') de ah* su peue.o tama.o (- calidad)$ A>n as*) siempre e"ist*a al,>n creador de p1,inas (e& ue se a#entura&a a poner al,>n sonido comple!o ($(a# o $mp2) en su p1,ina (e&) por des,racia) su car,a es tan 30 lenta) ue la ma-or*a de los #isitantes se ir*an de la p1,ina sin lle,ar a escucharla$ Ho-) ,racias a las cone"iones de &anda ancha orientadas a contenido multimedia) poner sonido a las p1,inas (e& es un poco m1s %1cil) u aporta FLASH? Flash nos permite insertar cualuier sonido ue ueramos en nuestras pel*culas ($(a#) $ai%% - $mp2) de %orma %1cil - mu- e%ecti#a) -a ue es capa' de acelerar la descar,a del sonido siempre - cuando se descar,ue !unto con nuestra pel*cula$ 4odemos dar a la pel*cula e%ectos simples (el t*pico BclicB al pulsar un &otn)) e%ectos comple!os (m>sica de %ondo) e incluso podemos hacer ue la animacin se desarrolle con!untamente con una m>sica (si &ien esto >ltimo necesitar*a ue toda la pel*cula estu#iera descar,ada pre#iamente) para e#itar BatascosB durante el desarrollo de la animacin)$ 8n de%initi#a) Flash nos lo #uel#e a poner %1cil$ Importar Sonidos Si al,una #e' ha&eis intentado a.adir un sonido a #uestra animacin Flash pro&a&lemente os ha-ais lle#ado una ,ran decepcin) no conse,uirlo$ 8sto se de&e a ue no se tiene en cuenta ue para poder emplear un o&!eto en nuestra pel*cula) o &ien lo creamos nosotros (como lle#amos haciendo hasta ahora) o &ien lo conse,uimos de cualuier otro modo - lo insertamos en nuestra pel*cula$ A esto >ltimo se le llama "Importar" - se puede hacer con sonidos) ,r1%icos) e incluso con otras pel*culas Flash$ Importar por tanto) no es m1s ue decirle a Flash ue a.ada un determinado archi#o a nuestra pel*cula) para ue podamos usarlo cuando ueramos$ 8n realidad) lo a.ade a nuestra BibIioteca) ue es el 4anel en el ue est1n todos los o&!etos ue participan en la pel*cula (este 4anel se #er1 m1s adelante)$ As* pues si ueremos mane!ar un sonido en nuestra pel*cula) de&eremos importarlo pre#iamente$ Fna #e' est importado) podremos usarlo con total li&ertad$
4ara importar un sonido ha' clic en el men> Archivo Q Importar Q Importar a bibIioteca$ 31 Se a&rir1 el cuadro de di1lo,o de Importar a bibIioteca$ All* de&er1s seleccionar en Tipo de archi#o Todos Ios formatos de sonido$ =a#e,a por las carpetas hasta encontrar el archi#o de audio ue uieras incluir en tu pel*cula$ Seleccionalo haciendo clic so&re l - ha' pulsa el &otn Aceptar$ 8l sonido estar1 listo para usarlo donde uieras) podr1s encontrarlo en la BibIioteca (men> Ventana Q BibIioteca)$
4ropiedades de los Sonidos 8n Flash 8) al i,ual ue en Flash 8 todo lo re%erente a los sonidos lo podemos editar desde el 4anel Propiedades$ Au* tenemos todo lo necesario para insertar) modi%icar - editar el sonido ue aca&amos de importar$ Si no hemos importado nin,>n 32 sonido) nos daremos cuenta de ue no podemos seleccionar nada en dicho panel) &asta insertarlo para ue esto cam&ie$ 4ara ue apare'ca la posi&ilidad de tra&a!ar con sonidos) de&eremos hacer clic en al,>n %oto,rama de nuestra pel*cula) tras hacer esto) el 4anel Propiedades toma el si,uiente aspecto5 /eamos las partes ue tiene este panel$ Sonido: 8n esta pesta.a nos aparecer1n las canciones ue tenemos importadas) de&eremos seleccionar la cancin ue pretendamos a.adir a nuestra pel*cula (en el si,uiente punto #eremos cmo insertarlo)$ Efecto: 0esde au* podremos a.adir al,>n e%ecto a nuestro sonido) como por e!emplo ue el sonido pase del canal i'uierdo al derecho (esto crea la sensacin de ue el sonido te en#uel#e -a ue lo o-es por un sitio - lue,o por otro) aunue ueda mu- le!os de los #erdaderos sonidos en#ol#entes)) ue el #olumen aumente pro,resi#amente etc$$$ Si deseamos a.adir comple!os e%ectos sonoros) de&eremos tratar adecuadamente el sonido con al,>n pro,rama creado espec*%icamente para este propsito antes de importarlo$ 8n el punto Editar Sonidos se tratar1 en m1s pro%undidad estos e%ectos$ Sinc: 8sta opcin nos permite determinar en u momento comen'ar1 33 a actuar nuestro sonido) estas son las opciones ue tenemos5 Evento5 Sincroni'a nuestro sonido con un e#ento determinado$ 8s la opcin por de%ecto - pro#oca ue el sonido se empiece a reproducir al pasar la pel*cula por el %oto,rama en el ue est1 situado$ 6am&in se puede sincroni'ar el sonido con &otones - los dem1s tipos de s*m&olos$ Inicio: Su %uncionamiento es eui#alente al de B8#entoB) se di%erencian en ue si est1 seleccionado Inicio en #e' de 8#ento - se reproduce otra #e' el mismo sonido u otro distinto) lo hace BencimaB del sonido actual$ 4uede ser un e%ecto mu- atracti#o) o puede pro#ocar ue se %orme BruidoB en nuestra pel*cula$ Detener: 0etiene el sonido seleccionado$ FIujo: 8sta opcin sincroni'a el sonido con el o los o&!etos con los ue est asociado) por tanto) si la car,a de la pel*cula es lenta - las im1,enes no %lu-en adecuadamente) el sonido se detendr1 para sincroni'arse con ellas$ 8ste e%ecto puede dar la sensacin de ue la pel*cula se corta de un modo mu- &rusco (pensar en ue se considera normal ue una ima,en tarde en car,arse) pero si se detiene un sonido mientras se reproduce) produce una reaccin mu- ne,ati#a en los ue pueden estar #iendo nuestra pel*cula)$ 4or otra parte) es un e%ecto mu- adecuado para al,unas situaciones) por e!emplo) el e%ecto de ue un persona!e ha&le durante una pel*cula$ 8n esta situacin) es mu- recomenda&le ue el sonido - las im1,enes estn sincroni'adas$ Repetir5 0etermina el n>mero de #eces ue se reproducir1 el sonido se,>n lo ue escri&as en la ca!a de te"to de la derecha$ 6am&in puedes seleccionar Reproducir indefinidamente para ue el sonido se reprodu'ca en un &luce hasta lle,ar al si,uiente %oto,rama cla#e$ =o recomendamos insertar sonidos con la opcin Flu!o - a la #e' la de Kepetir) -a ue al estar sincroni'ados los sonidos con las im1,enes) pro#ocar*amos ue las im1,enes (- los %oto,ramas ue las conten,an) se dupliuen tam&in) aumentando considera&lemente el tama.o de la pel*cula$ Unidad 6. 6ra&a!ar con Sonidos (II) 34 Insertar un Sonido Ahora ue -a sa&emos importar un sonido) u opciones podemos modi%icar - para u sir#e cada una$ /eamos lo m1s importante) cmo insertarlos en nuestra pel*cula$ Supon,amos ue ueremos insertar un sonido en un %oto,rama determinado) de modo ue cuando la pel*cula Flash lle,ue a este %oto,rama comience a reproducirse el sonido$ 4ara ue un sonido se reprodu'ca al lle,ar a un %oto,rama) de&eremos seleccionar el %oto,rama en el ue ueremos ue empiece a reproducirse el sonido$ Fna #e' all*) a&riremos el 4anel Propiedades e importaremos el sonido ue ueramos del modo #isto en el punto anterior$ Ctro modo m1s r1pido a>n consistir*a en seleccionar dicho sonido en la BibIioteca - arrastrarlo al %oto,rama en el ue ueramos ue se empiece a reproducir el sonido (al %oto,rama) no a la l*nea de tiempo)$ As* representa Flash los sonidos insertados en Foto,ramas 0e este modo insertamos un sonido) pero suena tal - cmo ueremos ue suene? $$$ 0epende de lo ue &usuemos$ 4or de%ecto Flash entiende ue uieres reproducir el sonido en su totalidad) sino para u insertarlo entero?) de modo ue Flash reproducir1 el sonido todas las #eces ue le ha-as indicado en Repetir - el sonido sonar1 aunue el %oto,rama en el ue est no sea el ue se est1 e!ecutando en ese instante$ Si uisiramos ue el sonido pare cuando entremos en otro %oto,rama) lo podemos hacer de : %ormas distintas) am&as com&inando las opciones ue nos o%rece el 4anel Propiedades$
La primera de ellas es seleccionarlo en la BibIioteca - arrastrarlo directamente so&re el escenario$ 8l sonido se a.adir1 al %oto,rama 35 en el ue nos encontramos$ Ctra opcin ser*a la de seleccionar el sonido (-a importado a nuestra &i&lioteca) desde el panel Propiedades del %oto,rama seleccionado5
8n la opcin Sonido seleccionar*amos el audio ue ueremos a.adir al %oto,rama$ Lue,o modi%icar*amos la opcin Sinc. del si,uiente modo5 Si seleccionamos FIujo) el sonido se reproducir1 hasta lle,ar al primer %oto,rama ue no lo conten,a$ 4odemos seleccionar Stop para marcar un %oto,rama de modo ue el sonido se deten,a al lle,ar a l$
8n esta animacin) #er1s como5 8ditar Sonidos
Flash no %ue creado como un editor de sonidos) por lo ue su potencia en este campo es limitada$ A>n as*) los e%ectos ue permite aplicar de un modo sencillo suelen ser su%icientes para cualuier animacin ue ueramos reali'ar$ 0isponemos de estos e%ectos5 CanaI Izquierdo5 8l sonido tan slo se escuchar1 por el alta#o' i'uierdo$ 36 CanaI Derecho5 8l sonido tan slo se escuchar1 por el alta#o' derecho$ Desvanecimiento de izquierda a derecha5 8l sonido se reproduce inicialmente en el alta#o' i'uierdo para lue,o pasar al derecho$ Desvanecimiento de derecha a izquierda5 8l sonido se reproduce inicialmente en el alta#o' derecho para lue,o pasar al i'uierdo$ Aumento Progresivo5 8l #olumen de nuestro sonido aumenta pro,resi#amente$ Desvanecimiento5 8l #olumen de nuestro sonido disminu-e pro,resi#amente$ PersonaIizado5 8sta opcin nos permite BeditarB el sonido de un modo r1pido - sencillo$ 0esde este editor podemos decidir u #olumen tendr1 nuestro sonido - en u alta#o'$ 4odemos crear los e%ectos anteriores a!ust1ndolos a nuestro ,usto - podemos crear e%ectos m1s comple!os a nuestra medida$ 8sta es la apariencia del 4anel PersonaIizar Sonido$ La parte superior representa el canal i'uierdo - la parte in%erior el canal derecho$ 8ntre las : partes ha- una l*nea de tiempo ue nos indica el tiempo de sonido transcurrido en cada punto$ Las l*neas ,rises representan el #olumen del sonido - haciendo clic en ellas podemos con%i,urar este #olumen$ 8n el e!emplo) el canal i'uierdo se reproduce normalmente (pues el #olumen est1 al m1"imo)) pero el canal derecho empie'a en silencio) para poco a poco alcan'ar el #olumen normal (este e%ecto eui#aldr*a a un Aumento 4ro,resi#o en el canal derecho)$ Unidad 6. 6ra&a!ar con Sonidos (III) Mp2 o ?a#? 37 7omo -a se ha comentado) los sonidos ue Flash 8 puede importar de&en tener las e"tensiones $(a# o $mp2$ Si no sa&es las di%erencias entre estos tipos de archi#os) puedes consultar nuestro tema &1sico $ 4or tanto) cuando ueramos a.adir un sonido a nuestra pel*cula) de&eremos decantarnos por uno de estos : %ormatos$ Lo normal es ue el sonido ue pretendamos insertar -a est en uno de ellos) pero no de&emos ol#idar ue e"isten multitud de pro,ramas ue con#ierten un sonido con e"tensin $mp2 a uno $(a# - #ice#ersa) por lo ue no de&e ser incon#eniente el %ormato ue ten,a el sonido en un principio$ La pre,unta sur,e en se,uida 7u1l es me!or? $$$ 8sta pre,unta es m1s importante de lo ue parece) -a ue si decidimos ue nuestra pel*cula ten,a sonidos) de&eremos asumir una car,a mu- importante en cuanto a tama.o de la pel*cula - en consecuencia en cuanto a tiempo de descar,a$ Lo ha&itual es ue los sonidos ocupen m1s de la mitad del espacio total - muchas #eces no #aldr1 la pena insertarlos$$$ Fna #e' decididos a insertar el sonido) la l,ica nos dice ue insertemos el sonido ue ocupe un espacio menor en el disco duro) -a ue este espacio es el ue ocupar1 en nuestra pel*cula$ 8sto es una apro"imacin) -a ue Flash comprime todo auello ue insertamos en nuestras pel*culas$ 7omo -a sa&emos) los sonidos $mp2 ocupan un espacio mucho menor ue los sonidos $(a# (H3 #eces menos o m1s)) por lo ue parece recomenda&le insertar $mp2 en lu,ar de $(a#) ahora &ien 4uede Flash comprimir un sonido -a comprimido? 8s decir) si un sonido $(a# ha sido comprimido - ahora tiene e"tensin $mp2) podr1 Flash #ol#er a comprimirlo? La respuesta es =C$ Flash comprime los sonidos ue insertamos en nuestras pel*culas) pero si el sonido resulta estar -a comprimido) no podr1 #ol#er a comprimirlo (en realidad si ue consi,ue comprimirlo) pero el sonido %inal es el mismo ue el inicial)$ Ahora ue -a sa&emos esto) nos %alta sa&er si Flash comprime un archi#o $(a# m1s de lo ue comprime el %ormato $mp2) para #er &ien este aspecto) hemos preparado #arios e!emplos$$$ EjempIo: 7ontamos con una pel*cula con un >nico %rame ue est1 #ac*o$ 8sta pel*cula) una #e' lista para ser #ista ($s(%) ocupa HIJ$ 6enemos H sonido $(a# ue ocupa HORS IJ 38 7omprimimos dicho sonido con un pro,rama compresor de audio - o&tenemos el mismo sonido en %ormato $mp2) ocupa H;O IJ$ (La calidad de sonido es pr1cticamente idntica)$ Ahora insertamos el sonido $(a# en la pel*cula ori,inal - la e"portamos (esto se trata en el >ltimo tema)$ ResuItado: Fna pel*cula con sonido (pel*cula H) ue ocupa 2TIJ$ Insertamos despus el sonido $mp2 en la pel*cula ori,inal$ ResuItado: Fna pel*cula con sonido (pel*cula :) ue ocupa H;O IJ 7onclusin5 La pel*cula con un sonido $(a# ocupa casi O #eces menos ue la ue tiene el mismo sonido en $mp2) por tanto parece recomenda&le insertar sonidos $(a# (la compresin de audio ue lo,ra Flash es mu- ,rande)$ 7omo contrapartida) podr*a apreciarse prdida de calidad en el sonido ue se escucha en la pel*cula H$ 8sta prdida ser1 importante se,>n el tipo de sonido ue sea$ Si es una #o') por e!emplo) de&er*amos insertar $mp2 -a ue necesariamente de&er1 escucharse &ien) si es m>sica de %ondo) es pro&a&le ue aunue se pierda calidad) el resultado %inal sea acepta&le - sea con#eniente uedarnos con la pel*cula de menor tama.o$ Lo me!or es pro&ar am&as #ersiones - e#aluar el resultado$ 4odeis #er #arias prue&as en estas pel*culas5 Msica de Fondo 4el*cula con sonido (m>sica) en %ormato .wav$ 6ama.o 6otal5 37 KB. 7alidad5 Buena 4el*cula con sonido (m>sica) en %ormato .mp3$ 6ama.o 6otal5 145 KB. 7alidad5 Buena 39 Sonido "Voz" 4el*cula con sonido (#o') en %ormato .wav$ 6ama.o 6otal5 9 KB. 7alidad5 ReguIar 4el*cula con sonido (#o') en .mp3$ 6ama.o 6otal5 67KB. 7alidad5 Buena 8n el primer caso ser*a recomenda&le uedarse con la pel*cula m1s peue.a) -a ue am&os sonidos son &uenos$ 8n el se,undo caso) la se,unda pel*cula ser*a m1s apropiada) -a ue aunue ten,a ma-or tama.o) la calidad del sonido merece la pena$
4or >ltimo) comentar ue Flash no puede importar sonidos en %ormato MI0I ($mid)$ A>n as*) si estamos empe.ados en ue en nuestra animacin el sonido sea un MI0I - no ueremos o podemos conse,uir un pro,rama ue con#ierta el sonido MI0I a ?A/ o M42 e"iste una %orma de hacerlo consistente en el uso com&inado de Flash - Aa#ascript$ I,ualmente) como se coment en el 6ema H) Flash 8 permite car,ar sonidos de un modo din1mico (sin ue ocupen espacio)) esto se tratar1 en el 6ema HT BAction ScriptB$ 8!ercicios del 6ema S 4rue&a e#aluati#a del 6ema S$ Unidad 7. 6ra&a!ar con C&!etos (I) Los C&!etos$ Iniciacin Independientemente de si estamos tra&a!ando en una animacin) en una p1,ina (e&) en un cat1lo,o para un 70Kom o en cualuier otra cosa) tendremos ue tra&a!ar con o&!etos$ A ,randes ras,os) podremos considerar un o&!eto todo auello ue apare'ca en nuestra pel*cula - sea #isi&le) de modo ue podamos tra&a!ar con l)un o&!eto ser*a) por e!emplo) cualuier ima,en ue creemos o importemos) un &otn) un di&u!o creado por nosotros mismos etc$$$ Los o&!etos as* considerados tienen : partes %undamentales5 EI Borde: 7onsiste en una del,ada l*nea ue separa el o&!eto del e"terior del escenario$ 4uede e"istir o no) se,>n nos con#en,a$ 7uando creamos un o&!eto) el &orde se crea siempre - su color ser1 el indicado en el CoIor de Trazo (dentro del 4anel MezcIador de CoIores)$ Si ueremos di&u!ar creando Jordes de&eremos emplear las Herramientas Lpiz) Lnea o PIuma - si ueremos ue nuestro di&u!o no ten,a 40 &orde) &astar1 con seleccionar el &orde - suprimirlo (#er si,uiente punto)$ EI ReIIeno: 8l relleno no es m1s ue el propio o&!eto sin &orde$ 8s) por tanto) la parte interna del o&!eto$ Su e"istencia tam&in es ar&itraria) -a ue podemos crear un o&!eto cu-o color de relleno sea transparente) como -a se #i en el tema de 0i&u!ar) - por tanto) parecer1 ue dicho o&!eto no tiene relleno) aunue en realidad s* ue e"ista pero sea de color transparente$ 4ara di&u!ar Kellenos (sin &orde) podemos usar herramientas tales como el PinceI o el Cubo de Pintura$ Seleccionar 4ara poder tra&a!ar con o&!etos) es %undamental sa&er seleccionar la parte del o&!eto ue ueramos modi%icar (mo#er) ,irar) cam&iar de color$$$)$ 4odremos o&ser#ar ue las partes de un o&!eto seleccionadas toman una apariencia con te"tura para indicar ue est1n seleccionadas$ C&!eto SI= seleccionar C&!eto con el JCK08 seleccionado C&!eto con el K8LL8=C seleccionado /eamos cmo seleccionar las di%erentes partes de un o&!eto5 SeIeccionar un ReIIeno o un Borde5 Jasta hacer clic H #e' en el Kelleno o en el Jorde ue ueramos seleccionar$ SeIeccionar eI ReIIeno y eI Borde de un objeto5 Hacer do&le clic en el Kelleno$ SeIeccionar todos Ios bordes (o Ineas) de un mismo coIor que estn en contacto5 Hacer do&le clic so&re una de las l*neas ue ten,a el color ue pretendamos seleccionar$ SeIeccionar un SmboIo, un texto, o un grupo5 7lic en el S*m&olo) en el te"to o en el ,rupo$ 8stos tipos de o&!etos mostrar1n un &orde de color a'ul (por de%ecto) al estar seleccionados$ SeIeccionar Varios eIementos5 Mantendremos pulsada la tecla SHIF6 mientras 41 seleccionamos los o&!etos ue ueramos$ SeIeccionar Ios objetos que se encuentran en una determinada zona5 4ara ello usaremos la Herramienta SeIeccin (FIecha)$ Haremos clic en una parte del escenario - arrastraremos el cursor hasta delimitar el 1rea ue conten,a los o&!etos ue ueremos seleccionar$ Si esta 1rea corta al,>n o&!eto) slo uedar1 seleccionada la parte del o&!eto ue est dentro del 1rea ue hemos delimitado$ Si uisiramos incluir dicho o&!eto) &astar*a con usar la tecla SHIFT - seleccionar la parte del o&!eto ue %alta por seleccionar$ 8ste modo de seleccionar o&!etos permite seleccionar muchos o&!etos r1pidamente) adem1s de permitirnos seleccionar determinadas 'onas de los o&!etos) para cortarlas) pe,arlas $$$ Adem1s de la Herramienta Flecha) tam&in podemos usar la Herramienta Lazo) m1s >til a>n si ca&e$ =os permite seleccionar cualuier 'ona de cualuier %orma (la %orma la determinamos nosotros) del o&!eto ue sea$ Al contrario ue la Herramienta Flecha) las 1reas seleccionadas no tienen porue ser rect1n,ulares$ SeIeccionar a partir de Ia Lnea de Tiempo: Si seleccionamos un determinado %oto,rama en la l*nea de tiempo) se seleccionan autom1ticamente todos los o&!etos ue estn en dicho %oto,rama$ 8sto es >til para modi%icar de un modo r1pido todos los elementos del %oto,rama$ SeIeccionar Todo5 La %orma m1s natural de seleccionar todo) consiste en hacer clic en el men> Edicin Q SeIeccionar Todo. Unidad 7. 6ra&a!ar con C&!etos (II) 7olocando C&!etos$ 4anel Alineamiento Ahora ue -a sa&emos seleccionar los o&!etos o las partes de estos ue consideremos oportunas) #eamos cmo colocarlos en el 8scenario$ 4ara colocarlos de un modo preciso (por no decir e"acto)) Flash pone a nuestra disposicin el PaneI AIinear$ 8ste 4anel lo podemos encontrar en el Men> Ventana Q AIinear$ As* %unciona5
42 8l 4anel AIinear permite colocar los o&!etos tal - cmo le indiuemos$ Antes de #er las posi&ilidades) de&emos hacer hincapi en la opcin En Escenario (En Escenar)$ 8sta opcin nos permite decir a Flash ue todas las posiciones ue indiuemos para nuestros o&!etos tomen como re%erencia el escenario Si esta opcin no est1 seleccionada) los o&!etos toman como re%erencia al con!unto de o&!etos en el ue se encuentran) - se colocan en %uncin de ellos$ Lo m1s ha&itual es seleccionar En Escenario) para ue los o&!etos se colouen se,>n los l*mites de la pel*cula) en el centro del %oto,rama etc$$$ 7ono'camos un poco me!or el 4anel AIinear - sus posi&ilidades5 AIineamiento: Sit>a los o&!etos en una determinada posicin del %oto,rama (si est1 seleccionado 8n 8scena)$ Las distintas opciones a%ectan a todos los elementos seleccionados - se emplean mu- a menudo para situar los o&!etos en determinados sitios prede%inidos$ 4or e!emplo5 Si uisieramos situar un o&!eto en la esuina in%erior i'uierda) &astar*a pulsar el primer - el se"to &otn consecuti#amente$ Distribuir: Sit>a los o&!etos en el escenario en %uncin de unos e!es ima,inarios ue pasan por cada uno de ellos) de modo ue la distri&ucin de los mismos sea uni%orme$ 4or e!emplo) si tenemos : cuadrados - pulsamos el primer &otn de la i'uierda$ 7ada uno de los : cuadrados se situar1 en un e"tremo de la pel*cula (uno arri&a - otro a&a!o)$ Coincidir Tamao: Hace coincidir los tama.os de los o&!etos$ Si est1 acti#o B8n 8scenaB estirar1 los o&!etos hasta ue coincidan con el ancho - el lar,o de la pel*cula$ Si no est1 acti#o) la re%erencia ser1 el resto de o&!etos$ 4or e!emplo) si tenemos : cuadrados distintos - la opcin B8n 8scenaB no est1 acti#ada) al hacer clic en el primer &otn de B7oincidir 6ama.oB) el cuadrado m1s estrecho pasar1 a tener la anchura del cuadrado m1s ancho$ Si B8n 8scenaB hu&iera estado acti#o am&os cuadrados hu&ieran pasado a tener el ancho del %oto,rama$ Espacio: 8spacia los o&!etos de un modo uni%orme$ 4ara #er e!emplos de uso de estos comandos) podeis #er la animacin situada arri&a al principio del cap*tulo$ 43 4anel In%ormacin Adem1s de controlar la posicin de los o&!etos desde el 4anel Alineamiento) tam&in podemos hacerlo) de un modo m1s e"acto (m1s matem1tico) desde otro panel) el 4anel Informacin$ A este 4anel se puede acceder desde el Men> Ventana Q Informacin$ Las posi&ilidades de este 4anel son limitadas) pero si &uscamos e"actitud en las medidas o no nos %iamos de las distri&uciones de o&!etos ue crea Flash) de&emos acudir a l$ Medidas deI Objeto: Au* introduciremos un n>mero ue represente el tamao de nuestro o&!eto en la medida seleccionada en las Propiedades deI documento$ An: hace re%erencia a la anchura - AI: a la altura$ Situacin deI objeto5 0esde au* controlamos la posicin del o&!eto en el escenario$ La X - la Y representan el e!e de coordenadas (La 9 es el e!e Hori'ontal - la E el e!e #ertical)$ Las medidas tam&in #an en %uncin de las medidas ele,idas para la pel*cula$ CoIor ActuaI5 Indica el color actual en %uncin de la cantidad de Rojo (R), Verde (V), AzuI (A) y efecto AIfa (AIfa) ue conten,a$ 8ste indicador puede ser en,a.oso) el moti#o es ue indica el color ue tiene el o&!eto por el ue en ese momento pasamos el cursor del ratn$ 4or tanto) podemos tener seleccionado un o&!eto (haciendo clic en l) - #er en el 4anel In%ormacin su tama.o - su posicin) pero al despla'ar el ratn) el #alor del color cam&iar1 - -a no indicar1 el color del o&!eto seleccionado) sino el del o&!eto por el ue pase el cursor$ 6ened esto en cuenta para no cometer errores o perder tiempo innecesario$ Posicin deI Cursor: Indica la posicin del cursor$ 8s >til por si ueremos ue suceda al,o en la pel*cula al pasar el cursor !usto por una posicin determinada o para situar partes del o&!eto en lu,ares espec*%icos$ Los +rupos Fn +rupo no es m1s ue un con!unto de o&!etos$ Si &ien no cualuier con!unto de o&!etos %orman un ,rupo) -a ue para crear un ,rupo) de&emos indicarle a Flash ue as* lo ueremos$ 4ara ello) &asta seleccionar los o&!etos ue ueremos ue %ormen parte de un ,rupo - despus hacer clic en el Men> Modificar Agrupar$ 44 6ras hacer esto o&ser#aremos ue desaparecen las te"turas ue indica&an ue los o&!etos esta&an seleccionados - o&ser#amos ue el ,rupo pasa a ser un BtodoB) -a ue resulta imposi&le seleccionar a uno de sus miem&ros sin ue se seleccionen a su #e' los dem1s$ Adem1s) aparece el rect1n,ulo a'ul (por de%ecto) ue rodea al ,rupo) de%inindolo como tal$ 7rear ,rupos es mu- >til) -a ue nos permite) como -a hemos dicho) tratar al con!unto de o&!etos como un todo - por tanto) podemos aplicar e%ectos al con!unto) ahorr1ndonos la la&or de hacerlo de o&!eto en o&!eto$ 4or e!emplo) supon,amos ue tenemos un di&u!o ue representa un con!unto de coches$ 6ras di&u!arlos todos) nos damos cuenta de ue ueremos aumentar el tama.o de los coches$ 4odemos aumentar el tama.o de los coches de uno en uno) corriendo el ries,o de aumentar unos m1s ue otros - perdiendo las proporciones entre ellos) o podemos %ormar un ,rupo con los coches - aumentar el tama.o del ,rupo) de modo ue aumenten todos de tama.o a la #e' - en la misma proporcin$ 0e i,ual modo) podemos mo#er al ,rupo de posicin) hacer ue ,ire$$$ Al crear un ,rupo) simplemente estamos dando unas propiedades comunes a un con!unto de o&!etos -) en nin,>n caso perdemos nuestro o&!eto$ 8n cualuier momento podemos deshacer el ,rupo) mediante el Men> Modificar Q Desagrupar$ Adem1s) Flash nos permite modi%icar los elementos de un ,rupo sin tener ue desa,ruparlo$ 4ara ello) seleccionamos el +rupo de elementos - hacemos clic en el Men> Edicin Q Editar SeIeccionado$ 4odremos editar los o&!etos ue componen el ,rupo por separado teniendo en cuenta ue) como es l,ico) los cam&ios reali'ados a%ectar1n al ,rupo adem1s de al elemento en cuestin$ 8!ercicios del 6ema T 4rue&a e#aluati#a del 6ema T$ Unidad 8. 7apas (I) Las 7apas$ 8ntend1moslas 45 6odo el mundo ha #isto al,una #e' cmo tra&a!an los di&u!antes de di&u!os animados$ E todos hemos #isto cmo colocan una ho!a semitransparente con di&u!os so&re otras - la superposicin de todas %orman el di&u!o %inal$ 4or u no di&u!an todo en una misma ho!a? 4or u tra&a!an con #arios ni#eles - con #arios di&u!os si #an a aca&ar todos !untos? Los moti#os son muchos) - estos ni#eles ue emplean los di&u!antes) eui#alen a las Capas ue utili'a Flash$ 7ada capa es) por tanto) un ni#el en el ue podemos di&u!ar) insertar sonidos) te"tos$$$ con INDEPENDENCIA del resto de capas$ Ha- ue tener en cuenta ue todas las capas comparten la misma L*nea de 6iempos - por tanto) sus distintos %oto,ramas se reproducir1n simult1neamente$ 7lari%iuemos esto con un e!emplo5
Supon,amos ue tenemos : capas$ 8n una de ellas los %oto,ramas del H al H3 contienen el di&u!o de una porter*a de %>t&ol$ 8n la otra los %oto,ramas del H al O contienen el di&u!o de un portero (del O en adelante est1n #ac*os)$ 4ues &ien) esta pel*cula nos mostrar1 inicialmente (durante el tiempo ue duren los primeros O %oto,ramas) la porter*a con el portero) para despus (durante los %oto,ramas del O al H3) mostrar la porter*a sin portero$ 0e este modo la porter*a es independiente del portero) - podemos 46 tratar estos o&!etos con total li&ertad) -a ue no inter%ieren entre ellos para nada$ Ctra ra'n para separar los o&!etos en capas) es ue Flash nos o&li,a a colocar cada animacin distinta en una capa$ 0e lo contrario) todos los o&!etos ue se encuentren en dicha capa %ormar1n parte de la animacin$ Si ueremos ue un o&!eto =C %orme parte de una animacin) de&eremos uitarlo de la capa en la ue se produce dicha animacin$ Si,uiendo con el e!emplo del portero) si uisiramos crear un mo#imiento ue ha,a ue el portero se desplace hacia un lado no ha- nin,>n incon#eniente) pero si la porter*a estu#iera en la misma capa ue el portero) entonces AMBOS o&!etos se mo#er*an hacia dicho lado) con lo ue resultar*a imposi&le ue slo se mo#iera el portero$ La solucin es separar los o&!etos en : capas) como -a hemos hecho$ Las capas adem1s) tienen otras utilidades) nos permiten ordenar nuestra pel*cula de %orma l,ica) - nos a-udan en la edicin de di&u!os (e#itando ue se B%undanB en uno slo) o &loueando el resto de capas de modo ue slo podamos seleccionar la capa ue nos interese)$ 6ra&a!ar con 7apas La #ista standard de una capa es la ue muestra la ima,en$ /eamos para u sir#en los distintos &otones - cmo usarlos$ Insertar Capas 5 7omo su nom&re indica) sir#e para Insertar capas en la escena actual$ Inserta capas normales (en el si,uiente punto se #er1n los distintos tipos de capas)$ Aadir Capa Gua 5 Inserta una capa de tipo ,u*a$ Se tratan en pro%undidad el si,uiente punto$ Borrar Capa 5 Borra la capa seleccionada$ Cambiar Nombre: 4ara cambiar eI nombre a una capa) &asta con hacer do&le clic en el nom&re actual$ Propiedades de Capa: Si hacemos do&le clic en el icono ) podremos acceder a un panel con las propiedades de la capa en la ue ha-amos hecho clic$ 4odremos 47 modi%icar todas las opciones ue hemos comentado anteriormente - al,una m1s de menor importancia$ Au* puedes cam&iar di%erentes opciones so&re la capa) como su nom&re o su color$ 6am&in puedes &louearla u ocultarla$ 4ero haremos especial hincapi en la opcin Tipo cu-as opciones) Gua - Mscara) #eremos ms adelante en el curso$ Unidad 8. 7apas (I) 6ra&a!ar con 7apas$ Cpciones A#an'adas Mostrar / OcuItar Capas 5 8ste &otn permite ver u ocuItar todas las capas de la pel*cula$ 8s mu- >til cuando tenemos muchas capas - slo ueremos #er una de ellas -a ue permite ocultar todas a la #e') para despus mostrar slo la actual$ 4ara acti#ar la #ista de una capa en concreto (o para ocultarla) &asta con hacer clic en la capa correspondiente en el punto (o en la cru') ue se encuentra &a!o el icono BMostrar @ Ccultar capasB BIoquear Capas 5 BIoquea la edicin de todas las capas) de modo ue no podremos modi%icarlas hasta des&louearlas$ 4ara &louear o des&louear una capa concreta) procederemos como en el punto anterior) clic en el punto o icono B7erro!oB situados en la capa actual &a!o el icono BJlouear 7apasB$ Jlouear una capa es mu- >til cuando tenemos #arios o&!etos !untos - en capas distintas - ueremos ase,urarnos de ue no modi%icamos Bsin uererB al,uno de 48 ellos$ 6ras &louear su capa podremos tra&a!ar con la se,uridad de no modi%icar dicho o&!eto) ni siuiera podremos seleccionarlo) de modo ue editaremos con ma-or %acilidad el o&!eto ue ueramos$ Mostrar/OcuItar capas como contornos 5 8ste &otn nos muestra@oculta los contenidos de todas las capas como si slo estu#iesen %ormados por bordes$ 0e este modo - ante un con!unto numeroso de o&!etos) podremos distin,uirlos a todos de %orma %1cil - podremos #er en u capa est1 cada uno de ellos$ 6am&in se puede acti#ar o desacti#ar para cada capa de un modo similar a los anteriores &otones$ /eamos como se muestran estas opciones acti#adas - desacti#adas$ 8n la primera ima,en la capa actual no tiene nin,uno de los &otones acti#ados) podemos o&ser#ar ue en la columna BMostrar 7apasB aparece un punto ne,ro$ 8ste punto si,ni%ica ue =C est1 acti#ada esta opcin) lo mismo sucede con el &otn BJlouear capasB$ 8n la columna BMostrar capas como contornosB aparece un cuadrado 7C= relleno) lo ue sim&oli'a ue los o&!etos se mostrar1n completos - no slo sus contornos$ 8n la se,unda ima,en aparece una cru' situada &a!o la columna BMostrar 7apasB) lo ue indica ue dicha capa no es #isi&le en el escenario$ Aparece un cerro!o &a!o la columna B&louear capasB) lo ue sim&oli'a ue la capa est1 &loueada$ E en la columna BMostrar capas como contornosB =C aparece relleno$ La capa se est1 mostrando en este modo - no podremos #er los rellenos hasta deseleccionar esta opcin$ Adem1s) el color de los contornos ser1 di%erente para cada capa) de modo ue podamos distin,uirlas me!or$ 8l color del contorno) coincidir1 con el indicado en cada capa$ 8n este e!emplo podeis #er cmo ueda un o&!eto en %uncin de tener acti#ada o no la opcin contorno5 Keor,ani'ar las 7apas 49 Hemos dedicado un tema entero a cmo colocar o&!etos) sa&emos -a cmo conse,uir ue un o&!eto apare'ca delante de otro en una pel*cula) como hacer ue %ormen ,rupos - muchas cosas m1s$ 4ero nos ha&remos dado cuenta de ue) si tra&a!amos con distintas capas) todo esto no sir#e de mucho$$$ 7omo -a se ha comentado) las distintas capas tienen muchas cosas en com>n unas con otras$ Lo primero - principal es la L*nea de tiempos) todas las capas de una misma escena comparten la misma l*nea de tiempos - por tanto) los o&!etos de todos los %oto,ramas H de todas las capas se #er1n al mismo tiempo en la pel*cula superpuestos unos so&re otros$ - u o&!eto est1 delante de los dem1s? 4ues este criterio #iene dado por la colocacin de las 7apas en la pel*cula$ Los o&!etos ue se mostrar1n delante de todos los dem1s ser1n auellos ue se encuentren en la capa situada m1s arri&a$ 8s decir) si nos %i!amos en el e!emplo anterior5 8l portero aparece delante de la porter*a) porue la capa B4orteroB est1 situada encima de la capa B4orter*aB) como puede apreciarse en la ima,en$ Si uisiramos cam&iar esta distri&ucin) &asta con hacer clic en la capa ue ueramos mo#er - arrastrarla hacia arri&a o hacia a&a!o hasta la posicin deseada$ /eremos como los o&!etos se colocan delante o detr1s de los de la capa seleccionada se,>n su capa se encuentre por encima o por de&a!o de la nuestra$ 4ara mo#er un o&!eto de una capa a otra) de&eremos se,uir unos sencillos pasos$ Aprende a hacerlo reali'ando el 8!ercicio 7am&iar C&!etos de 7apa 4ara mo#er un %oto,rama de una capa a otra) &asta con seleccionar el %oto,rama a mo#er - arrastrarlo hasta la capa donde ueramos pe,arlo$ 6am&in se puede 7opiar el %oto,rama - lue,o pe,arlo en la capa de destino$ Unidad 8. 7apas (III)
50 6ipos de 7apas 7omo ha&reis podido compro&ar al #er las propiedades ,enerales de una capa o al hacer clic con el &otn derecho del ratn so&re el icono de una capa cualuiera) e"isten #arios tipos de capas$ Capas normaIes 5 Son las capas por de%ecto de Flash - tienen todas las propiedades descritas en los puntos anteriores$ Son las m1s usadas - se emplean para todo) colocar o&!etos) sonidos) acciones) a-udas$$$ Capas Gua 5 Son capas especiales de contenido espec*%ico$ Se emplean en las animaciones de mo#imiento de o&!etos - su >nico %in es marcar la tra-ectoria ue de&e se,uir dicho o&!eto$ 0e&ido a ue su misin es representar la tra-ectoria de un o&!eto animado) su contenido suele ser una l*nea (recta) cur#a o con cualuier %orma)$ 8n esta ima,en podemos #er el contenido de : capas$ La primera de ellas contiene la &ola a'ul - la se,unda contiene la l*nea cur#a$ La se,unda capa la hemos de%inido como 7apa +u*a) para ue al reali'ar la animacin de mo#imiento (esto lo #eremos en un tema posterior) su contenido =C se #ea en la pel*cula) sino ue sir#a de recorrido para la &ola a'ul$ 8s Importante recordar ue el contenido de las 7apas +u*a no se #er1 en la pel*cula %inal$ Su e%ecto har1 ue la pelota a'ul se desplace de un e"tremo de la l*nea al otro si,uiendo esa ruta$ Jonito e%ecto #erdad? Capas Guiadas (Guided Layers) 5 7uando de%inimos una capa como capa ,u*a) es necesario de%inir despus una capa ,uiada$ 8sto es) una capa ue uedar1 a%ectada por la ,u*a de%inida en la 7apa ,u*a$ Si no de%inimos una capa ,uiada) la capa ,u*a no tendr1 nin,>n e%ecto - si &ien =C se #er1 en la pel*cula (por ser una capa ,u*a) tampoco pro#ocar1 nin,>n e%ecto en las dem1s capas$ 8n la ima,en anterior) la &ola a'ul se de&er1 encontrar en una 51 capa +uiada) de lo contrario no se,uir1 la ruta marcada por la capa ,u*a$ Las capas ,u*a - las capas ,uiadas se relacionan entre s* de un modo e#idente$ A cada capa ,u*a le corresponden una serie de capas ,uiadas$ Al asociar una capa ,u*a con una capa ,uiada) el icono ue representa a la capa ,u*a cam&ia) indic1ndonos ue est1 reali'ando correctamente su la&or$ 8n la ima,en podemos #er un e!emplo de capa ,u*a - capa ,uiada correctamente asociadas entre s*$ (La capa llamada aula7lic es) e#identemente) la capa +uiada) 8l %uncionamiento de las 7apas +u*a - sus utilidades lo #eremos a %ondo en el tema de las Animaciones de Mo#imiento Capas Mscara : 8stas capas se pueden #er como plantillas ue tapan a las capas enmascaradas (las #eremos ense,uida)$ 8l %uncionamiento de estas capas es al,o comple!o (tampoco demasiado) - se anali'ar1 en cursos posteriores$ Jasta con decir ue estas capas se colocan BencimaB de las capas a las ue enmascaran - slo de!an ue se #ea la parte de stas ue tapan los o&!etos situados en las capas m1scara (son como %iltros)$ Al i,ual ue las capas ,u*a) los o&!etos e"istentes en este tipo de capas tampoco se #en en la pel*cula %inal$ S* se #er1n los o&!etos de su correspondiente capa enmascarada a los ue estn BtapandoB$ Capas Enmascaradas : 8stas capas %uncionan con!untamente con las 7apas m1scaras$ Al i,ual ue las capas ,u*a - las capas ,uiadas de&en ir 52 asociadas unas a otras para ue su e%ecto sea correcto$ Sus o&!etos s* ue son #isi&les en la pel*cula %inal) pero slo cuando al,>n o&!eto de la capa M1scara est1 so&re ellos$
/eamos el %uncionamiento de estas capas con un e!emplo$ 8n este e!emplo) los rect1n,ulos a'ules %orman parte de la 7apa 8nmascarada - por tanto se #er1n en la pel*cula %inal (pero slo lo ue tape la capa m1scara)$ 8l #alo ro!o est1 situado en la capa M1scara - no se #er1 en la pel*cula) pero slo se #er1 lo ue l BtapeB$ As* se emplean las m1scaras$$$ 4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema 8 $ Unidad 9. S*m&olos (I) Qu son los s*m&olos
Los SmboIos pro#ienen de o&!etos ue hemos creado utili'ando las herramientas ue nos proporciona Flash 8$ 8stos o&!etos al ser trans%ormados en s*m&olos) son incluidos en una &i&lioteca en el momento en ue son creados) lo ue permite ue sean utili'ados en #arias ocasiones) -a sea en la misma o en otra pel*cula$
7mo crear un s*m&olo 53 La accin de crear un nue#o s*m&olo es una de las m1s usadas en Flash -a ue es uno de Ios primeros pasos para crear una animacin) como #eremos m1s adelante$ 8l procedimiento es el si,uiente5 SeIeccionamos el o&!eto ue ueramos con#ertir en s*m&olo$ A&rimos el panel de 4ropiedades del S*m&olo) accediendo al men> Insertar Q Nuevo SmboIo o simplemente pulsando CtrI + F8 o F8$ Fna #e' hecho esto nos aparecer1 una #entana como la mostrada en la ima,en$ Introducimos eI nombre del s*m&olo ue #amos a crear$ 8sto al principio - mientras ten,amos poco s*m&olos no ser1 mu- importante) pero m1s adelante nos ser#ir1 para hacer re%erencia al o&!eto$ Slo nos ueda seleccionar el tipo de smboIo o comportamiento en ue ueremos con#ertir nuestro o&!eto$ 4odemos ele,ir entre 7lip de 4el*cula) Jotn - +r1%ico$ Sus caracter*sticas - las di%erencias entre ellos las #eremos en temas posteriores$ Jastar1 con pulsar Aceptar para tener nuestro s*m&olo creado$ 54 4ara practicar estas operaciones te aconse!amos reali'ar 8!ercicio 7rear S*m&olo$ Las Ji&liotecas
8n Flash 8 podemos encontrar dos tipos de &i&liotecas) las &i&liotecas comunes - de e!emplos - auellas asociadas a las pel*culas ue hemos creado$ 6odas ellas las tenemos a nuestra disposicin para utili'ar los s*m&olos ue contienen$ 4ara acceder a las &i&liotecas comunes ue nos o%rece Flash simplemente tenemos ue ir a la Jarra de Men>s) Ventana Q BibIiotecas Comunes - seleccionar al,una de las ue se nos o%recen$ Las ha- de todo tipo de s*m&olos5 &otones) clips o ,r1%icos$ 4ara acceder a la l*&rer*a de s*m&olos de la pel*cula ue estamos creando de nue#o #amos a la Jarra de Men>s) Ventana Q BibIioteca$ 8n esta &i&lioteca aparecer1n todos los s*m&olos ue hemos creado hasta el momento$ 4odemos compro&ar como el nue#o s*m&olo ue hemos creado en el e!ercicio anterior (8!ercicio 7rear S*m&olo) se ha a.adido a nuestra &i&lioteca accediendo a ella como aca&amos de indicar$ Los s*m&olos contenidos en las &i&liotecas est1n identi%icados por su nom&re - por un icono ue representa el tipo de s*m&olo ue representan5 CIip Botn Grfico
55
4ara utili'ar un s*m&olo de una &i&lioteca &asta con puIsar en eI nombre de dicho s*m&olo - arrastrarIo a cualuier lu,ar del 1rea de tra&a!o$ C&ser#a cmo podemos hacerlo$
0i%erencia entre s*m&olo e instancia
7omo hemos comentado anteriormente) cuando creamos un s*m&olo) Flash lo almacena en una &i&lioteca$ 4ues &ien) cada #e' ue utilicemos ese o&!eto en una pel*cula) ste se con#ierte en una instancia. Aunue parece ue sean lo mismo) la importancia de esta distincin es ue cuando utilicemos un s*m&olo ue ha-amos creado pre#iamente en una pel*cula) al modi%icarlo se modificar Ia instancia) mientras ue el o&!eto se,uir1 intacto) tal - como era en el momento de su creacin) de manera ue podremos #ol#erlo a utili'ar en otro momento$ A la derecha tenis un e!emplo de una &i&lioteca) en este caso una &i&lioteca est1ndar de Flash$ 7ada elemento de la &i&lioteca es un smboIo. 4ara entender me!or este concepto te aconse!amos reali'ar 8!ercicio Modi%icar Instancia$ 56 Unidad 9. S*m&olos (II) Modi%icar una Instancia
Hemos #isto anteriormente ue podemos modi%icar una instancia de un s*m&olo sin modi%icar el s*m&olo ori,inal en cuestin$ Sin em&ar,o) al no tratarse de un ,r1%ico #ectorial (#eremos ue si,ni%ica esto m1s adelante)) no podemos modi%icar las instancias con las herramientas de di&u!o de Flash 8) pero s* mediante el 4anel de Propiedades) ue permite la manipulacin Be"ternaB de la instancia$ As*) este panel) ue como hemos #isto resulta sumamente >til) no nos permite modi%icar la estructura &1sica de la instancia) pero s* otras propiedades) esto es) podremos hacer ue la instancia ten,a m1s &rillo) pero no trans%ormar una estrella en un c*rculo)$
4anel 4ropiedades de Instancia 4ara acceder al panel de propiedades de instancia) de&emos seleccionar en primer lu,ar la instancia ue ueramos modi%icar - posteriormente a&rir el 4anel Propiedades$ Si seleccionamos un o&!eto Flash ue no se trate de un s*m&olo) el 4anel Propiedades mostrar1 las propiedades del o&!eto en cuestin) pero no las caracter*sticas propias de los s*m&olos (cam&ios de color) intercam&ios etc$$$) 8n el momento ue seleccionemos un s*m&olo aparecer1n una serie de propiedades - opciones ue comentamos a continuacin5 Nombre deI SmboIo y su icono correspondiente: 8l nom&re de la instancia es mu- importante) pues permite identi%icarla durante la pel*cula$ 8l icono asociado nos permite sa&er u tipo de s*m&olo es de un #ista'o r1pido$ Tipo de SmboIo o 7omportamiento de la instancia$ 4or de%ecto se nos muestra el tipo al ue pertenec*a el s*m&olo ori,inal pero nosotros podemos 57 Unidad 9. S*m&olos (III) 8%ectos so&re Instancias (II)
A continuacin mostraremos los tipos de e%ectos$ 4ara ello partiremos de la si,uiente ima,en ori,inal5 BriIIo. Se puede modi%icar su #alor desde DH33U al H33U) esto es) completamente oscuro (ne,ro) - completamente &rillante (&lanco)$ 4uedes mo#er la &arra desli'ante o introducir su #alor directamente en la casilla$ 8%ecto Jrillo del O3 U
Tinta. 8sta opcin permite cam&iar el color de la instancia) pero puesto ue) como di!imos) no podemos modi%icar la instancia internamente) al #ariar el color en la pesta.a Tinta o &ien mediante los #alores K+J (cantidad de ro!o) #erde - a'ul)) se cam&iar1 el color de toda la instancia como si la estu#iramos ti.endo o poniendo una capa ima,inaria de un color determinado$ 8l ,rosor o intensidad de esta BcapaB la podemos modi%icar en porcenta!e mediante la primera pesta.a ue aparece a la derecha$ 58 8%ecto 6inta del O3 U con el color #erde (3 :OO 3)
AIfa. Kepresenta el ,rado de #isi&ilidad o transparencia ue se tendr1 de la instancia en cuestin$ 6am&in se puede modi%icar mediante #alor directo o con la &arra desli'ante - es mu- >til para animaciones de aparicin - desaparicin de o&!etos$ Si aplicamos un e%ecto alpha so&re una instancia ue est1 encima de otro o&!eto) el o&!eto ue antes esta&a tapado se podr1 #er a tra#s de la instancia$ 8%ecto Al%a del SO U so&re el pe' naran!a
Avanzado. Au* podemos aplicar todos los e%ectos anteriores al mismo tiempo de manera m1s precisa) con la #enta!a de ue au* podemos ponerle un poco de cada uno) dando lu,ar a e%ectos de ,ran #istosidad$ 59 So&re el pe' superior$ Hemos aplicado un e%ecto Al%a del SO U - hemos reducido al ;O U la cantidad de #erde a la #e' ue hemos multiplicado la cantidad de a'ul por HHH) o&teniendo el tinte rosa translucido ue se o&ser#a
Mientras modi%iuemos los e%ectos so&re las instancias podremos ir #iendo el resultado so&re el propio escenario$ Au* puedes #er el modo de aplicar una trans%ormacin Alpha a una instancia$
8!ercicios del 6ema R 4rue&a e#aluati#a del 6ema R$ Unidad 10. +r1%icos (I) Qu es un ,r1%ico?
Los Grficos son s*m&olos ue nos permiten representar o&!etos est1ticos - animaciones sencillas$ 8n caso de ue utilicemos un s*m&olo ,r1%ico para reali'ar una animacin) de&emos tener en cuenta ue sta estar1 li,ada a la l*nea de tiempo de la pel*cula en la ue se encuentre$ 8s decir) la animacin se reproducir1 siempre - cuando la pel*cula ori,inal tam&in se est reproduciendo$ 8sto hace ue) pese a tener su propia l*nea de tiempo) no puedan contener sonidos) controles ni otros s*m&olos ,r1%icos$ As* pues) normalmente utili'aremos los ,r1%icos para im1,enes est1ticas o para cuando nos con#en,a ue una animacin se reprodu'ca slo cuando determinado 60 %rame de la l*nea de tiempo de la pel*cula est en marcha) -a ue para los casos ue hemos comentado anteriormente en los ue un ,r1%ico no nos es >til) Flash nos o%rece otro tipo de s*m&olos como #eremos en temas posteriores$ 6ipos de +r1%icos Los ,r1%icos pueden ser5
a) Estticos: estos ,r1%icos se mantienen sin cam&ios cuando pasa el tiempo$ 8stos ,r1%icos son los t*picos en los %ondos - en los o&!etos ue no desempe.an nin,una %uncin especial$ Su tama.o - por tanto) el tiempo de car,a de este tipo de ,r1%icos) aunue siempre depender1 de la resolucin) de sus dimensiones - de la %orma en la ue estn creados V) ser1 en ,eneral reducido$
b) Animaciones: este tipo de ,r1%ico #ar*a su %orma) posicin u otras propiedades a medida ue #a pasando el tiempo$ 4uesto ue para reali'ar la animacin se de&en usar #arios ,r1%icos m1s adem1s del ori,inal o &ien reali'ar determinadas acciones ue modi%iuen el estado inicial) el tama.o de esta clase de ,r1%icos) para las mismas dimensiones - %orma de creacin) ser1 mucho ma-or ue uno est1tico$
4or esto) aunue las animaciones dan a nuestra (e& un aspecto m1s &onito - espectacular tienen dos incon#enientes5 1) Si se trata de un Mapa de Jits (ahora #eremos ue si,ni%ica esto) la (e& puede lle,ar a tener un tama.o e"cesi#amente ,rande$ 2) Aunue no se traten de mapas de &its) por e!emplo) si son animaciones t*picas de Flash) cu-o tama.o no es e"cesi#o) el hecho de poner muchas animaciones puede lle,ar a BmarearB un poco al #isitante de nuestro sitio - des#iar su atencin de lo ue realmente importa) su
ESTO ES UN GRFICO ESTTICO
ESTO ES UNA ANIMACIN 61 contenido$
(V) Los tipos de ,r1%ico anteriores pueden ser) a su #e' de dos tipos) se,>n la %orma en la ue estn creados5 +r1%ico /ectorial o Mapa de Jits$ 4ara sa&er m1s acerca de estos dos tipos de ,r1%ico) chale un #ista'o a nuestro tema &1sico$ $ 7reando un ,r1%ico - compro&ando sus propiedades
7omo e"plicar tericamente las propiedades de un ,r1%ico resulta un tanto con%uso) #amos a #er de manera pr1ctica lo ue ueremos e"plicar$ /amos a crear un ,r1%ico en Flash - a compro&ar las propiedades ue hemos comentado en el primer apartado del tema$ 4ara ello) a&re una nue#a pel*cula Flash (Archivo Q Nuevo)$ Ahora tenemos ue crear el o&!eto ue ueremos con#ertir en un s*m&olo +r1%ico$ 0i&u!emos) por e!emplo) un #alo en cualuier lu,ar del 1rea de tra&a!o con la herramienta vaIo de la &arra de herramientas de di&u!o - dmosle un color de relleno ue ser1 lo ue despus animemos (Selecciona el %ondo del #alo - dale el color a'ul mediante la herramienta ReIIeno de coIor$ )$ Ea hemos creado nuestro o&!eto) #amos a con#ertirlo en un s*m&olo ,r1%ico lo recuerdas ? Selecciona el o&!eto) #es al Men> Insertar Convertir en SmboIo - con#irtelo en un s*m&olo como -a ha&*amos #isto - d1ndole el nombre B+r1%icoAnimadoB- seleccionando el Comportamiento Grfico5
Ahora #amos a crear la animacin del ,r1%ico$ 4uesto ue toda#*a no hemos #isto a %ondo las animaciones) la #amos a reali'ar de una %orma ue ui'1 no ser*a la 62 m1s apropiada la ma-or*a de las #eces) pero nos ser#ir1 mu- &ien para este e!emplo$ 4ara ello selecciona nuestro ,r1%ico - pulsa el &otn derecho del ratn$ Se desple,ar1 un men>) en el ue seleccionaremos la opcin Editar para modi%icar el ,r1%ico - acceder a su l*nea de tiempos$ 7omprue&a ue est1s en la l*nea de tiempos del ,r1%ico (!usto encima del escenario e"iste una secuencia ue nos indica en u ni#el nos encontramos$ 8n la ima,en in%erior) se puede apreciar ue nos encontramos en B8scenaH D +r1%ico AnimadoB -) por tanto estamos 08=6KC del ,r1%ico (- la l*nea de tiempos ue #emos es la del ,r1%ico) - no la de la pel*cula principal)
7rearemos a continuacin nue#os %oto,ramas cla#e seIeccionando uno a uno los %rames n>mero :) 2 - ; - puIsando F6 cuando los seleccionemos$ 4ulsa so&re el %rame : - c1m&iale el color de %ondo al #alo como hicimos antes$ Ha' lo mismo en los dos si,uientes %rames$
6u l*nea de tiempos de&er*a tener este aspecto5
4ulsa donde pone 8scena H !usto encima del escenario - de este modo #ol#eremos al ni#el inicial (4el*cula principal) - podremos #er nuestro ,r1%ico Bdesde %ueraB$
Ahora -a tenemos completo nuestro ,r1%ico animado$ Qu crees que suceder si reproducimos Ia peIcuIa? 7ompro&moslo pulsando ControI + Intro) se #isuali'ar1 la pel*cula$ 63
E &ien? =ada$ =ada en a&soluto$ EI vaIo sigue taI cuaI$ 4or u? La respuesta est1 en las caracter*sticas de los ,r1%icos ue ha&*amos e"plicado5 la l*nea de tiempos del ,r1%ico est1 li,ada a la de la pel*cula$ 8n este caso la l*nea de tiempos de Ia peIcuIa tena un soIo frame) mientras ue la del grfico tena 4) por tanto) no Ie hemos dado tiempo aI grfico a desarroIIar su animacin< slo ha reproducido un %rame) el primero$ 7mo podemos solucionarlo? Mu- sencillo$ Jasta con recordar lo ue hemos comentado) Cierra la #entana del reproductor de Flash) seIecciona el %oto,rama O de la pel*cula principal - puIsa F6$ Ahora tenemos 5 fotogramas en Ia peIcuIa principaI. 4ulsa de nue#o ControI + Intro$ Ahora s* ue se #e la animacin$ +uarda este archi#o porue lo utili'aremos m1s adelante$ Unidad 10. +r1%icos (II) Introducir un Mapa de Jits
Los grficos de tipo Mapa de Bits pueden crearse con muchos pro,ramas$ Si deseas ue en tus pel*culas ha-an mapas de &its lo m1s se,uro es ue pre%ieras crearlos - hacerlos m1s espectaculares en otro pro,rama m1s apropiado ue Flash para el mane!o de Jitmaps5 4hotoshop) Fire(orWs o 4hotopaint$ Flash 8 permite importar mapas de &its de otros pro,ramas) cuando han sido ,uardados en %ormatos ,r1%ico +IF) A4+) 6IFF - muchos m1s$ 6am&in nos permite modi%icarlos en cierto modo$ 4odemos cam&iarle el tama.o - con#ertirlo en un s*m&olo para apro#echar las opciones ue nos o%rece Flash aunue) teniendo en cuenta u es un &itmap) no podremos modi%icarlo BinternamenteB pero podremos usarlo como un s*m&olo m1s$
4ara importar un archi#o de Mapa de Jits al escenario ha' clic en el men> Archivo Q Importar Q Importar a escenario$ 64 Se a&rir1 el cuadro de di1lo,o de Importar) all* de&er1s seleccionar el %ormato de ima,en ue uieres importar seleccion1ndolo en el desple,a&le Tipo$ Lue,o na#e,a por las carpetas hasta encontrarlo$ Seleccinalo haciendo clic so&re l - pulsa el &otn Abrir$ La ima,en se incluir1 en el escenario - estar1 lista para tra&a!ar con ella$
Au* tienes una muestra de como hacerlo$
Introducir un archi#o #ectorial Al i,ual ue los mapas de &its) ha- otros pro,ramas ue tra&a!an con ,r1%icos 65 #ectoriales como tam&in hace Flash 8$ Si ueremos traer un archi#o #ectorial creado en otro pro,rama) por e!emplo Freehand) podemos hacerlo de manera mu- sencilla$ Simplemente accedemos al men> Archivo Q Importar Q Importar a escenario$ A continuacin) seIeccionamos eI tipo de archivo correspondiente al ,r1%ico #ectorial ue ueramos importar$ 4or e!emplo FHHH del Freehand M9 (HH)$ 4ulsamos Abrir) - -a tenemos nuestro archi#o #ectorial$ 8ste archi#o s* lo podremos modi%icar internamente -a ue Flash es capa' de hacer ,r1%icos de este tipo$
7oncretamente) el Freehand pertenece tam&in a Macromedia) al i,ual ue Flash) con lo ue la compati&ilidad en este caso es total$ 8"portar un o&!eto Flash como mapa de &its La inter%a' de di&u!o de Flash) como hemos #isto) resulta mu- cmoda en determinadas ocasiones para reali'ar di&u!os$ As* podr*a interesarnos 66 utili'ar Flash 8 para crear un di&u!o - despus utili'arlo en otros pro,ramas o para cualuier otro uso$ 8sto es per%ectamente posi&le con Flash) -a ue nos permite e"portar un o&!eto de %lash como un &itmap$ 8so s*) de&emos tener en cuenta) como #imos en el tema &1sico) ue la ma-or*a de mapas de &its no permiten animaciones) por esto el o&!eto %lash ue e"portemos no de&er*a contener animacin -a ue sta no se ,uardar1$ 4ara reali'arlo seleccionamos el o&!eto ue #amos a e"portar - accedemos al men> Archivo Q Exportar Q Exportar Imagen... Lue,o introducimos en el campo Nombre el nom&re ue ueremos ue ten,a nuestro nue#o &itmap$ Seleccionamos el tipo de mapa de bits en ue deseemos con#ertir nuestro o&!eto - pulsamos Guardar.
Ahora -a podemos usar nuestro o&!eto Flash como un &itmap$
4ara entender me!or cmo te aconse!amos reali'ar el 8!ercicio 8"portar Jitmap$ 8"portar un o&!eto Flash como animacin 7omo #imos en el tema &1sico hay tipos de archivo de mapa de bits que soportan animaciones) como los +IF$ 4ues &ien) con Flash tam&in podemos crear una animacin - e"portarla como un +IF animado$ Sin em&ar,o) como #imos) el +IF animado consiste en una secuencia de im1,enes mostradas secuencialmente - es por esto ue para exportar un objeto 67 FIash 8 como GIF animado es necesario que todos Ios fotogramas de esta animacin sean cIave) -a ue el +IF no lo reconocer1 en caso contrario - no #eremos el e%ecto deseado$
4ara e"portar un s*m&olo - ,uardarlo como una ima,en de&eremos antes ue nada seleccionarlo con la herramienta SeIeccin$ Fna #e' seleccionado de&eremos hacer clic en el men> Archivo Q Exportar Q Exportar imagen... - se a&rir1 un cuadro de di1lo,o$
68 8n este cuadro de di1lo,o de&eremos introducir el nom&re del archi#o ue crearemos - seleccionar en el desple,a&le Tipo el %ormato de ima,en con el ue ueremos ,uardarlo$ Fna #e' rellenados todos los campos - ele,ida la carpeta donde se ,uardar1 el archi#o pulsa el &otn Guardar - el archi#o de ima,en se crear1 - estr1 listo si uieres incluirlo en una p1,ina (e& est1tica o modi%icarlo con cualuier pro,rama de ima,en$ 4odis se,uir los pasos de este clip (=ota5 se utili'ar1 como &ase el ,r1%ico animado ue creamos en el apartado de creacin de ,r1%icos) -a ue dicho ,r1%ico est1 hecho %oto,rama a %oto,rama)5 A la derecha #emos el +IF Animado ue resulta de e"portar nuestro ,r1%ico Flash$ 4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema H3 $ Unidad 11. 7lips de 4el*cula (I) Qu es un 7lip de 4el*cula?
Fn CIip de PeIcuIa o simplemente 7lip) es una pel*cula en si misma) como cualuiera de las ue podamos ha&er creado hasta el momento en este curso) pero ue est1 incluida dentro de otra pel*cula -) a su #e' puede contener tam&in pel*culas insertadas en l$ Al i,ual ue los otros tipos de s*m&olos de Flash) los clips de pel*cula tienen su propia l*nea de tiempo$ Sin em&ar,o) - a di%erencia de los +r1%icos (como #eremos a continuacin)) esta l*nea temporal no est1 li,ada a la l*nea de tiempos del documento ue lo contiene) de tal %orma ue su e!ecucin es independiente$ 8ste tipo de s*m&olos puede contener cualuier otro tipo de s*m&olo5 ,r1%ico) 69 clip o &otn) as* como cualuier o&!eto creado con Flash) -a ue un clip es realmente una pel*cula$ Ctra de las #enta!as de los 7lips la encontramos cuando reali'amos pel*culas de ,ran comple!idad - tama.o) en la ue inter#ienen un n>mero mu- ele#ado de %oto,ramas) de&ido a ue en la #ista ,eneral del documento) nosotros slo #eremos un %oto,rama por clip) el cual puede estar compuesto por muchos %rames) lo ue nos permitir1 tener una me!or #isin de cmo se desarrolla nuestra animacin) - una &arra de tiempos m1s clara - BlimpiaB$ Los 7lips son una de las herramientas ue dan ma-or potencia a Flash 8) permitindonos crear pel*culas de ,ran comple!idad - multiplicar los e%ectos #isuales) -a ue se pueden crear m>ltiples mo#imientos independientes entre s* - crear cone"iones entre los di%erentes 7lips de un documento$ 6odas auellas cosas ue no pod*amos hacer con un s*m&olo de tipo +r1%ico) lo podemos hacer con un 7lip) adem1s de poder reali'ar tam&in todo auello ue nos permit*a dicho s*m&olo$ 4or esto) normalmente se utili'an los clips para cualuier tipo de animacin de&ido a su ,ran %le"i&ilidad) de!ando los ,r1%icos slo para im1,enes est1ticas$
7ompro&ar las propiedades de un 7lip
7omo hicimos con los ,r1%icos) #amos a #er como la l*nea de tiempo de un clip no est1 li,ada a la l*nea de tiempo del documento ue lo contiene -) a la #e') #eremos la di%erencia entre los clips - los s*m&olos +r1%icos) ue supone una de las ra'ones de la ma-or utili'acin de los primeros en lo ue se re%iere a la creacin de animaciones$ 4ara ello a&riremos una nue#a pel*cula Flash (Archivo Q Nuevo)$ 0espus importaremos una ima,en cualuiera o &ien crearemos una$ La con#ertimos en S*m&olo (Insertar Q Nuevo SmboIo...) - seleccionamos en 7omportamiento B7lip de 4el*culaB Arrastramos al escenario (si no est1 -a all*) nuestro clip de pel*cula$ 70 Ahora tenemos nuestro 7lip) insertado en nuestro nue#o documento Flash$ 8s decir) tenemos dos pel*culas) cada una con su l*nea de tiempos$ Ahora #eamos ue son independientes) si,uiendo un proceso similar al ue utili'amos con los s*m&olos de tipo +r1%ico$ C&ser#a la l*nea de tiempos de la pel*cula principal - comprue&a ue slo tiene un %oto,rama$
8ditemos el 7lip ue insertamos en el documento (dobIe cIic sobre eI avin) - e"aminemos su l*nea de tiempos$ Aparecer1 un >nico mo#ieclip$ 4odemos reali'ar al,o similar a lo reali'ado con los ,r1%icos) si &ien #amos a crear una Animacin de Mo#imiento (ue se #er1 en el 6ema H2)$ =os uedar1 as* 5
7omo #emos) la duracin del clip ue hemos insertado es mucho ma-or ue la pel*cula nue#a ue lo contiene$ Si el pe' %uera un ,r1%ico -a hemos #isto ue si intent1ramos reproducir la pel*cula no ocurrir*a nada$ /eamos u sucede siendo en este caso un 7lip (esto tam&in es #1lido si la animacin se ha creado del modo #isto con los ,r1%icos)$ (ControI + Intro). 71 8n este caso s que vemos Ia animacin porue en el momento en ue el reproductor ha pasado por el %oto,rama ue conten*a el clip) ste ha empe'ado a reproducirse -) puesto ue su l*nea de tiempos es independiente) ha se,uido reproducindose a pesar de ue la l*nea de tiempos principal ha-a terminado) - lo continuar1 haciendo hasta ue aca&e su l*nea temporal propia$ Unidad 11. 7lips de 4el*cula (II) 7rear un nue#o 7lip 7omo hemos comentado) utili'aremos normalmente 7lips para hacer animaciones$ Aunue no lo ha-amos comentado antes) se puede crear un s*m&olo Flash de la nada) de %orma ue se uede en la &i&lioteca - podamos editarlo cuando nos con#en,a$ 8sto puede ser interesante en los clips) -a ue a di%erencia de los ,r1%icos) su %inalidad suele ser el mo#imiento -) en animaciones comple!as) en ocasiones se les asi,nan acciones especiales en las cuales) &ien no es necesario crearlo en ese momento) &ien con#iene de!ar el clip #ac*o$ 4or esto) es interesante aprender cmo crear un s*m&olo) en este caso un clip) de la nada para despus modi%icarlo$
4ara insertar un clip #ac*o ha' clic en Insertar Q Nuevo smboIo - se a&rir1 el cuadro de di1lo,o de Crear un nuevo smboIo$ All* de&er1s darle un Nombre para identi%icarlo m1s tarde en la BibIioteca - seleccionar la opcin CIip de PeIcuIa en el marco Tipo$ A partir de este momento tendremos un nue#o clip (#ac*o) al cual podremos acceder desde nuestra BibIioteca (men> Ventana Q BibIioteca)) si hacemos clic derecho so&re l - seleccionamos Edicin) podremos editarlo - tra&a!ar con l$
C&ser#a cmo hacerlo 7uando estudiemos las animaciones haremos e!emplos de animaciones mediante clips de pel*cula - #eremos el potencial real de este tipo de s*m&olos$ Importar - 8"portar Mo#ie 7lips de Ji&lioteca
72 7omo para todos los s*m&olos los 7lips se almacenan en la &i&lioteca del documento cuando son creados$ 8sto es mu- importante en muchos casos -a ue ha&itualmente los clips son mu- reutili'a&les$ 4ara importar clips de pel*cula de&emos a&rir primero la &i&lioteca en la ue est1 contenido$ Hemos #isto en el tema de S*m&olos) dos tipos de &i&liotecas5 las ue est1n asociadas a documentos u otras pel*culas - las ue nos proporciona Flash 8$ 4ues &ien) no sIo podemos utiIizar smboIos deI mismo documento en eI que estamos sino que podemos 73 ImportarIos de otros documentos de nuestro disco duro) lo ue) en el caso ue nos ocupa) puede resultar de ,ran utilidad$ C&#iamente la e"portacin mediante &i&lioteca se hace autom1ticament e -a ue Flash de!a los o&!etos creados en la &i&lioteca para ue puedan ser reutili'ados$ 4ara importar un 7lip de un archi#o del disco duro de&emos ir al men> Archivo Q Importar Q Abrir bibIioteca externa...) seleccionar el Archi#o Flash ($%la) del ue ueremos importar sus s*m&olos de &i&lioteca - pulsar Abrir$ Aparecer1 la &i&lioteca con la lista de los s*m&olos correspondiente 74 s a los ,r1%icos) &otones - clips del documento en cuestin$ 8s importante destacar ue cuando insertemos un clip de una &i&lioteca) se insertar1n a su #e' todos los s*m&olos ue conten,a) incluidos los clips$ A continuacin mostramos un e!emplo en el ue #eremos cmo importar clips de esta %orma adem1s de compro&ar las propiedades de los clips - sus l*neas de tiempo independientes mediante la reproduccin simult1nea de dos pel*culas) creando un e%ecto &astante #istoso utili'ando BaparentementeB un slo %rame$ /er e!emplo 75 animado5 E el resultado del proceso anterior es el si,uiente5 4ara #er cmo e"portar e importar una pel*cula completa como un slo mo#ie clip - poder usar esto para el desarrollo en pro,ramas como S(ish) re#isa nuestro tema a#an'ado5 Ctros usos de los Mo#ie 7lips 8!ercicios del 6ema HH 4rue&a e#aluati#a del 6ema HH Unidad 12. Jotones (I) Qu es un Jotn?
Los s*m&olos de tipo Botn son los ue aportan la ma-or parte de la interacti#idad de las pel*culas Flash con auel ue la est1 #isuali'ando$ Fn &otn) en Flash) es i,ual ue cualuier &otn de cualuier entorno in%orm1tico) sea (e& o cualuier otro$ Son elementos ue se prestan a ue el usuario los presione) desencadenando al hacerlo una serie de acciones$ 6am&in es ha&itual #er como este tipo de elementos reaccionan cuando se les pasa el ratn por encima o cuando se les est1 pulsando) por e!emplo$ 4ues &ien) para conse,uir los e%ectos interacti#os ue aca&amos de mencionar en otros len,ua!es orientados a la (e&) ue es el caso ue nos ocupa) de&emos crear pro,ramas relati#amente ,randes$ 8sto es un incon#eniente &astante ,rande -a ue el uso de los &otones es una pr1ctica mu- ha&itual en el dise.o en Internet$ Sin em&ar,o) en Flash no ocurre as*$ Su inter%a' est1 dise.ada de manera especial para la creacin de &otones) lo ue nos permite crear todos estos e%ectos de una manera mu- sencilla$ Al i,ual ue los otros s*m&olos de Flash 8) los &otones tienen su propia l*nea de tiempos$ 8sta es independiente pero) sin em&ar,o) est1 %ormada >nicamente por cuatro %oto,ramas) uno para cada estado posi&le del &otn$ 76 Reposo. Aspecto por de%ecto del &otn) es decir) cuando el puntero del ratn no est1 situado so&re l$ Sobre. Aspecto del &otn cuando situamos el puntero so&re l$ Presionado. Apariencia ue deseamos ten,a nuestro &otn mientras lo manten,amos pulsado$ Zona activa. Au* de&emos indicar el 1rea real en la ue ueremos ue act>e nuestro &otn$ 8sto es importante so&re todo en &otones compuestos slo por te"to como #eremos m1s adelante$ 4arece ue la limitacin de %oto,ramas podr*a implicar una limitacin en la capacidad de espectacularidad - utilidad de estos s*m&olos) pero no es as*$ Los &otones pueden contener a su #e' otros s*m&olos) como clips o ,r1%icos (tam&in de tipo Jitmap)$ La unin de las posi&ilidades de todos los s*m&olos dota a los &otones de ,ran espectacularidad$
7reacin de un Jotn
8n la creacin de un &otn podemos considerar dos %ases$ 8n la primera #amos a con#ertir nuestro o&!eto a s*m&olo de tipo &otn - posteriormente #eremos cmo completarlo internamente) lo ue nos a-udar1 a entender me!or dicha estructura$ 4rimeramente crearemos el o&!eto ue representar1 el aspecto por de%ecto de nuestro &otn con las herramientas ue nos o%rece Flash 8$ Seleccionaremos el o&!eto - accederemos al men> Insertar Q Convertir en SmboIo) le daremos el comportamiento Botn - asi,naremos un nom&re a nuestro nue#o s*m&olo$ 77 0e esta %orma -a tenemos trans%ormado el o&!eto para ue se comporte como un &otn$ Ahora lo completaremos internamente$ 4ara determinar cmo de&e reaccionar el &otn en %uncin de las acciones del ratn) lo editaremos haciendo clic con el &otn derecho del ratn so&re nuestro nue#o &otn - seleccionando la opcin Editar. 7uando ten,amos delante la l*nea de tiempos del &otn (o&ser#a ue tiene el aspecto ue hemos mostrado anteriormente)) seleccionaremos cada uno de los %rames (so&re) reposo) presionado - 'ona acti#a) - pulsaremos F6 para crear un %oto,rama cla#e en cada uno de ellos$ Ahora -a podemos modi%icar el aspecto inicial del &otn para cada posicin del cursor - marcar el 1rea de accin del &otn (%oto,rama Hit) en la ue simplemente podremos de!ar la misma %i,ura ue la inicial (en este caso slo es importante la %orma del o&!eto) no los colores u otras cosas) o &ien di&u!ar con las herramientas de di&u!os de Flash una nue#a %i,ura) en cu-a super%icie Bse sentir1 aludidoB nuestro &otn$ Au* podemos #er una muestra de creacin de un &otn o#alado$ 7omo resultado o&tenemos el &otn ue continuacin mostramos$ 8ste es un &otn mu- &1sico) como #eremos se pueden complicar mucho) pero para empe'ar nos ser#ir1 con este$ Si una #e' creado el &otn ueremos o&ser#ar sus distintos estados - toda#*a no hemos terminado la pel*cula entera - por tanto no deseamos tener ue reproducirla 78 toda podemos hacerlo accediendo a la Ji&lioteca de nuestra pel*cula - seleccionando el &otn creado$ 4ara #er lo ue coment1&amos &astar1 con pulsar la tecla situada a la derecha de la #ista pre#ia del s*m&olo$ Formas en los Jotones
Los &otones son s*m&olos ue pueden tener multitud de %ormas$ Si &ien lo m1s ha&itual es #er &otones rectan,ulares) cuadrados - circulares) cu-a creacin es inmediata como #imos en el punto anterior) tam&in ha- otros muchos tipos de &otones ue) pese a ser menos utili'ados) es mu- ha&itual #erlos en multitud de p1,inas (e&$ 8ntre estos est1n los creados mediante %ormas poli,onales) auellos ue est1n %ormados por te"to >nicamente) di&u!os con di%erentes moti#os) etc$ 8s interesante su uso para dar m1s #istosidad -a ue al,unos resultan m1s e"presi#os) - en esto Flash nos a-uda mucho) de&ido a la relati#a sencille' de creacin de &otones ue sus herramientas de di&u!o nos o%rece$ Ha- #arias %ormas de &otn tam&in mu- e"tendidas) como el &otn con relie#e sencillo o los &otones en %orma de p*ldora$ 4uesto ue e"isten muchas %ormas de conse,uir estos e%ectos) a continuacin tienes un e!ercicio paso a paso ue muestra una %orma de conse,uir el relie#e en un &otn rectan,ular$ 8!ercicio Jotn en Kelie#e$ Unidad 12. Jotones (II) Jotones de te"to$ La importancia de la 'ona acti#a
79 Los &otones) como hemos #isto) poseen un %oto,rama en el ue indicamos la 'ona acti#a$ 8n los e!emplos #istos hasta el momento esto parec*a poco >til) -a ue es com>n pensar ue o&#iamente la 'ona acti#a ue ueremos ue ten,a nuestro &otn es el 1rea ue comprenden los l*mites de dicho &otn$ /eamos como esto no es siempre tan tri#ial$ Au* se muestran dos &otones creados en Flash 8$ 7ompro&emos lo ue sucede al pasar el ratn por encima de uno - de otro$
Aunue pare'can i,uales) la di%erencia est1 en el momento en el ue situamos el ratn en uno de los huecos ue e"iste entre letra - letra o) en ,eneral) todos auellos lu,ares ue no pertene'can al te"to propiamente dicho$ 8n el te"to de la i'uierda el &otn se acti#a slo cuando situamos el puntero del ratn so&re la letra$ 8sto puede ser incmodo - puede lle#ar a con%usin) -a ue auel ue na#e,ue por nuestras p1,inas simplemente uerr1 hacer uso del &otn - no tener ue intentar apuntar concretamente a unas letras ue ui'1 sean mu- estrechas$ 8sto es de&ido al mal uso de la 'ona acti#a$ 4ara solucionar este pro&lema si,ue los si,uientes pasos5 H$ Ha' do&le clic so&re el &otn para entrar en su modo de edicin$ :$ Ha' clic so&re el %oto,rama de Zona Activa) si no hu&iese nin,>n 80 2$ %oto,rama cla#e creado ha' clic so&re l - pulsa la tecla F6 para ;$ crear uno$ O$ Fna #e' en el estado Zona Activa seleccionamos la herramienta S$ RectnguIo - di&u!amos un rect1n,ulo so&re el te"to tap1ndolo T$ en su totalidad$ As* de%iniremos toda el 1rea del rect1n,ulo como 8$ 'ona acti#a al ratn$ R$ /uel#e al modo de edicin normal pulsando el enlace a Escena 1 H3$ so&re la Lnea de tiempos$ Au* tienes un e!emplo de cmo hacerlo correctamente$
Incluir un clip en un &otn
La inclusin de clips de pel*cula en los &otones puede dotar a stos de m1s #istosidad$ 8s ha&itual colocar un clip en el %oto,rama So&re para indicar al,>n tipo de in%ormacin e"tra o una animacin para ir m1s all1 de un cam&io de color$ 6am&in es com>n #er un clip de pel*cula actuando como un &otn$ 8sto caso se puede hacer por e!emplo poniendo el clip en el %oto,rama Keposo$ /eamos por e!emplo el &otn si,uiente5 7omprue&a todos los estados del ratn$ 4or lo ue nos dice el &otn podemos intuir ue empie'a al,o) pero ui'1 no ten,amos claro u$ Si nosotros en determinado momento no ueremos ue esto ocurra en nuestras p1,inas (e&) podemos recurrir a la introduccin de un 7lip en el &otn) ue e"pliue un poco m1s acerca de lo ue pasar1 si pulsamos$ 81
Incluir un 7lip en un &otn es mu- sencillo$ 6omando este e!emplo) slo tendr1s ue) primero) hacer do&le clic so&re el &otn para entrar en su modo de edicin$ Ha' clic en el estado Sobre para modi%icarlo$ Selecciona el te"to - pulsa la tecla SUPRIMIR para eliminarlo$ Ahora a&re la BibIioteca desde el men> Ventana Q BibIioteca donde se encontrar1 el clip ue ha&remos creado pre#iamente$ Seleccinalo - arr1stralo so&re el &otn$ Ea esta listo) ahora cuando pases el ratn so&re el &otn el clip de pel*cula empe'ar1 a reproducirse$
Au* puedes se,uir el proceso ue aca&amos de comentar E este es el resultado$
Jitmaps - Jotones
Adem1s de clips) los &otones tam&in pueden contener s*m&olos de tipo +r1%ico$ 4uesto ue) como -a hemos #isto) todo lo ue se puede hacer con un ,r1%ico se puede hacer con un clip) #amos a centrarnos en los Jitmaps ue Flash nos permite importar) -a ue est1n mu- e"tendidos como %orma de e"presin ,r1%ica a lo lar,o - ancho de la Ked$ Si consideramos las limitaciones ue -a conocemos so&re los mapas de &its puede parecer poco interesante hacer uso de ellos en la creacin de &otones) pero no es as*$ J1sicamente podemos hacer dos cosas5 1) Incluir en cada uno de los %oto,ramas del &otn un &itmap distinto) o&teniendo un e%ecto como el ue se consi,ue con len,ua!es como !a#ascript 82 (siempre considerando la ma-or sencille' de Flash)$ 2) Apro#echar las propiedades de los +r1%icos en Flash$ 4ara esto) de&er*amos importar primero el Jitmap - despus con#ertirlo a s*m&olo &otn$ 4osteriormente lo editar*amos -) despus de insertar cada %oto,rama cla#e) con#ertir*amos su contenido a s*m&olo +r1%ico$ Fna #e' hecho esto) #ariando los e%ectos de las instancias en Flash (Al%a) 6inta) Jrillo) podremos conse,uir e%ectos &astante &uenos$ He au* una peue.a muestra en la ue slo hemos utili'ado un Jitmap de tipo +IF) sacado de la Ked - lo hemos con#ertido en un &otn ,r1%ico aplic1ndole un e%ecto Al%a (6ransparencia) al estado de reposo) lo ue da la sensacin de estar apa,ado (tam&in podr*amos ha&er aplicado &rillo)$ 8n el %oto,rama So&re hemos de!ado el +IF ori,inal para ue al pasar so&re el &otn de la sensacin de encenderse$ Finalmente le hemos aumentado la cantidad de ro!o en el %oto,rama 4resionado para ue pare'ca estar incandescente$ Unidad 12. Jotones (III) Acciones en los &otones 4uesto ue e"isten multitud de acciones ue se pueden aplicar tanto a los &otones) como a otros elementos de Flash 8 #amos a comentar dos de las m1s comunes5 1) Abrir una pgina web. 7on esto conse,uiremos a&rir una p1,ina cualuiera 2) de internet (o una pel*cula Flash)) lo ue nos ser#ir1 para irnos despla'ando 3) por (e&s ue conten,an m1s de una p1,ina) o permitir al usuario descar,arse 4) archi#os entre otras cosas$
4ara a.adir una accin a un &otn es necesario el uso de ActionScript 83 (en el tema HT se tratar1 con ma-or pro%undidad)$ 4or lo tanto) los pasos a se,uir ser1n los si,uientes5 H$ Selecciona el &otn haciendo clic so&re l) pues es a l al ue ir1 :$ asociada la accin$ 2$ A&re el panel Acciones haciendo clic en su pesta.a o desde el ;$ men> Ventana Q Acciones$ O$ Ha' clic en el &otn Asistente de script$ S$ 8n el marco de la i'uierda ha' clic so&re Funciones gIobaIes Q T$ Navegador/Red Q getURL$ 8$ Al seleccionar el comando getURL (ue se encar,a de crear un R$ linW a una p1,ina (e&) se mostrar1n sus respecti#as opciones H3$ en la derecha del panel$ Kellena los campos URL con la p1,ina HH$ a la cual uieres #incular el &otn - selecciona en ue #entana H:$ uieres ue se a&ra el linW en el desple,a&le Ventana (_bIank a&rir1 H2$ el linW en una p1,ina nue#a)$ H;$ 7ierra el panel de Acciones - el &otn estar1 listo$ Has a.adido una HO$ accin a tu &otn$ Au* tienes una muestra de cmo hacerlo$ E este es el resultado5 84
2) ControIar una peIcuIa en curso. Si estamos reproduciendo una pel*cula Flash - ueremos permitir ue el usuario la deten,a) la pon,a en marcha) a#ance) retroceda $$$ 4or e!emplo) para detener una pel*cula en curso simplemente de&emos hacer ue nuestro &otn en cuestin apare'ca en el escenario de dicha pel*cula) seleccionarlo) - a&rir el panel de acciones) acti#ando posteriormente la %uncin Stop()$ 6ras hacer esto) de&er*amos cam&iar como hicimos en la animacin anterior el momento en el ue se de&e e!ecutar la %uncin) seleccionando el e#ento 4resionar$ Arri&a mostramos cmo de&er*a uedar el panel de acciones del &otn$ Ahora cada #e' ue presionemos este &otn se detendr1 la pel*cula en la ue est1 incluido$ 0e %orma mu- parecida actuar*amos para otras acciones de control$ Incluir sonido en un &otn
Si nuestras p1,inas #an a tener sonido) el sonido en los &otones es una parte 85 %undamental$ 4odemos hacer) por e!emplo ue se acti#en sonidos al pulsar un &otn$ 4ara ello) simplemente de&emos editar nuestro &otn - seleccionar el %oto,rama Presionado$ Ahora de&emos insertar el sonido$ 4or e!emplo podr*amos importar uno desde nuestro disco duro o &ien tomar al,uno ue -a ten,amos en la &i&lioteca$ 8l resultado podr*a ser al,o as*5
8!ercicios del 6ema H: 4rue&a e#aluati#a del 6ema H:$ Unidad 13. Animaciones de Mo#imiento (I) La animacin en Flash
Flash 8 es un pro,rama &1sicamente orientado a la animacin) de ah* la ,ran importancia de este tema$ =o o&stante) para ir creando animaciones cada #e' m1s complicadas se necesita) so&retodo) mucha pr1ctica$ 8n este tema - los sucesi#os mostraremos las tcnicas &1sicas de animacin en Flash$ La unin de estas tcnicas ser1 la ue nos permita crear las m1s #ariadas - #istosas animaciones$ 8n el tema de la animacin) Flash o%rece unas %acilidades mu- ,randes) consi,uiendo e%ectos ue normalmente reuieren muchos conocimientos - espacio de almacenamiento para ser creados) como es el caso por e!emplo de los +IF animados o len,ua!es de pro,ramacin como Aa#a) de una manera mu- sencilla) sin necesidad de e"cesi#os conocimientos - ocupando mu- poco espacio en disco$ Aunue Flash o%rece tcnicas me!ores) tam&in se pueden crear animaciones a modo de +IF animado$ Se les denomina animaciones Foto,rama a Foto,rama$ 8stas son las animaciones m1s &1sicas - con#iene conocerlas$ 4ara ello con#iene #isitar nuestro tema &1sico5 Animaciones Foto,rama a Foto,rama$ A continuacin #eremos distintos tipos de animaciones ue el creador de pel*culas Flash de&er1 tomar como ,u*a inicial$ 7a&e destacar ue podremos aplicar #arias de estas animaciones coloc1ndolas en distintas capas$ 7on esto es con lo ue 86 conse,uiremos los e%ectos m1s espectaculares a la par ue >tiles$ 8s mu- importante tener claro un concepto5 no se debe crear animaciones en pginas que no Io necesitan, ni crear animaciones ue distrai,an al ue #isualice nuestros documentos de lo realmente importante) el mensa!e$
Interpolacin de Mo#imiento (I)
8s la accin &1sica de las animaciones en Flash$ 4ermite despla'ar un s*m&olo Flash de un lu,ar a otro del escenario) siendo necesarios >nicamente dos %oto,ramas) lo ue optimi'a mucho el rendimiento de la pel*cula$ 8s importante destacar ue para que una InterpoIacin de movimiento se ejecute correctamente aqueIIos objetos que intervengan debern haber sido previamente convertidos a smboIo. 6am&in se de&e tener cuidado al reali'ar una Interpolacin con dos s*m&olos ue se encuentren en la misma capa) -a ue el motor de animacin los a,rupar1 como uno slo - el resultado no ser1 el esperado$ 4or esto es con#eniente ase,urarse de dos cosas5 1) Separar en distintas capas los o&!etos %i!os - los ue estar1n animados$ 2) 4oner tam&in en distintas capas o&!etos ue #a-an a ser animados con direcciones o %ormas distintas$ 4asemos pues al tema en cuestin$ Fna interpolacin de mo#imiento) como hemos dicho) es el despla'amiento de un s*m&olo de uno a otro punto del escenario$ 8l hecho de ue slo se necesiten dos %oto,ramas es de&ido a ue Flash) >nicamente con la posicin inicial - %inal) Bintu-eB una tra-ectoria en l*nea recta - la representa (#eremos ue tam&in se pueden reali'ar mo#imientos no rectil*neos)$ 7uando realicemos la interpolacin correctamente o&ser#aremos un aspecto como este en la l*nea de tiempo$ 8sto indica ue la animacin cam&iar1 la posicin del s*m&olo del %oto,rama H hasta la posicin del mismo s*m&olo en el %oto,rama :3) utili'ando precisamente :3 %oto,ramas$ 8l n>mero de %oto,ramas ue se usen en la interpolacin de mo#imiento 87 indicar1 las su&etapas de ue constar1 la animacin$ 7uantas m1s su&etapas m1s sensacin de BcontinuidadB (menos saltos &ruscos) pero a la #e' menos #elocidad en el mo#imiento$ La #elocidad en el mo#imiento de las pel*culas la podemos cam&iar tam&in modi%icando su par1metro en la &arra de tiempos) pero esto no cam&iar1 lo ue hemos comentado anteriormente$ La #elocidad est1 e"presada en Foto,ramas 4or Se,undo (%ps) - se puede modi%icar haciendo do&le clic en el lu,ar ue hemos indicado de la &arra de tiempos$ A ma-or #alor m1s #elocidad) pero se de&en poner siempre su%icientes %oto,ramas para ue se desarrolle la animacin como ueremos$
8n la animacin del tema H podr1s #er como reali'ar una interpolacin de mo#imiento$ Mantn en mente ue cuando realices una interpolacin de mo#imiento el %oto,rama inicial - %inal de&er1n ser di%erentes) en caso contrario no se crear1 nin,>n tipo de animacin$ C&ser#a en las si,uientes im1,enes dnde est1 situada la pelota en el primer %oto,rama de la animacin - su posicin %inal en el >ltimo %oto,rama5
88
Au* puedes #er como reali'ar una interpolacin de mo#imiento Si el o&!eto con el ue ueremos hacer la interpolacin de mo#imiento no est1 89 con#ertido a s*m&olo nos encontraremos con al,o as*$$$ $$$ - la animacin no %uncionar1$ 6am&in podemos reali'ar la interpolacin de otra %orma) sin con#ertir pre#iamente el o&!eto a s*m&olo) -a ue Flash lo con#ierte a s*m&olo autom1ticamente si no lo hacemos) d1ndole el nom&re BAnimarB m1s un n>mero$ Jasta con hacer clic con el &otn derecho so&re el %oto,rama ue contiene nuestro o&!eto (en la l*nea de tiempos) - seleccionar Crear InterpoIacin de Movimiento. 0espus) al crear un %oto,rama cla#e en otro lu,ar de la l*nea de tiempos se crear1 autom1ticamente la interpolacin) - slo de&eremos modi%icar este >ltimo %oto,rama para producir la animacin$ 8sto ui'1 no sea lo m1s con#eniente en pel*culas ,randes) de&ido a lo ue -a comentamos de la ,ran cantidad de s*m&olos ue pueden aparecer - la con%usin ue crean muchos s*m&olos con nom&res parecidos$ Flash tam&in nos permite crear animaciones con tra-ectorias rectil*neas en #arias %ases) con direcciones distintas$ 4ara ello) una #e' creada la interpolacin) &asta con pinchar en uno de los %oto,ramas intermedios - crear un nue#o %oto,rama cla#e$ Si mo#emos el s*m&olo en ese %oto,rama a otro lu,ar del escenario - reproducimos) la animacin ir1 primero a esa posicin - despus a la posicin %inal$ Si hacemos esto #arias #eces so&re #arios %oto,ramas o&tendremos #arias tra-ectorias consecuti#as m1s$ 4ara entender me!or este concepto recomendamos hacer el 8!ercicio 8ncadenar Interpolaciones$
Interpolacin de Mo#imiento (II)
Aca&amos de #er las interpolaciones de mo#imiento como un mecanismo para despla'ar un s*m&olo Flash de un lado a otro del escenario$ Sin em&ar,o) podemos apro#echar este comando del pro,rama para reali'ar animaciones en las ue nuestro objeto aumente o disminuya de manera progresiva su tamao. 8sto es mu- sencillo con Flash 8) &asta con modi%icar la instancia del s*m&olo en el >ltimo %oto,rama de la interpolacin de mo#imiento) pero esta #e' cam&i1ndole el tama.o$ 90 4or supuesto) podemos aplicar am&os e%ectos a la #e') de manera ue el cam&io de tama.o se producir1 mientras el o&!eto se despla'a$ 6am&in podemos hacer el cam&io de tama.o en #arias %ases o secuencias encadenadas como en las interpolaciones de mo#imiento comunes$ 8l e!emplo si,uiente incorpora estas tres caracter*sticas de la Interpolacin de Mo#imiento de Flash 8$
E la l*nea de tiempos ue nos ueda es al,o tan sencillo como esto5
Unidad 13. Animaciones de Mo#imiento (II) Animacin de 6e"tos
8s induda&le ue para comunicar al,>n mensa!e) en la ma-or*a de las ocasiones) no &asta con im1,enes o iconos) - es au* donde el te"to co&ra ,ran importancia$ =o o&stante) se de&e tener cuidado con la animacin de los te"tos) -a ue resulta &astante complicado leer un te"to ue se despla'a o cam&ia de tama.o$ 4or este moti#o) un te"to animado de&er*a estar slo en las presentaciones o 91 &ien %ormar parte de una animacin corta -) lo ue es m1s importante no de&er*a estar reproducindose in%initamente$ 8n las presentaciones) se utili'an multitud de e%ectos ue #eremos m1s adelante$ Sin em&ar,o) con lo #isto hasta ahora se pueden o&tener e%ectos interesantes$ Fna de las opciones m1s utili'adas es separar las letras de los te"tos - animarlas independientemente Au* tienes un e!emplo de una presentacin sencilla mediante te"to utili'ando esta tcnica$
Si no tienes claro cmo reali'ar una animacin te recomendamos ue realices el 8!ercicio Animar 6e"to por Jloues$
Animacin de L*neas
Fna &uena animacin no tiene ue poru estar compuesta slo por te"tos o im1,enes espectaculares$ 8n ocasiones con#iene darle a la pel*cula un aire m1s sencillo o a.adir determinados e%ectos ue la ha,an #istosa sin necesidad de car,ar mucho la pel*cula #isualmente) - en cuanto a tama.o de archi#o se re%iere$ 92
8sto lo podemos conse,uir simplemente animando l*neas - haciendo ue se mue#an por el escenario$ 8sta tcnica nos permite dar dinamismo a la animacin o crear %ormas distintas a lo lar,o de su recorrido$ Son especialmente >tiles - #istosas en %ondos oscuros - se suelen usar para %ormar rect1n,ulos ue se apro#echan para insertar im1,enes$ A la derecha podemos #er un e!emplo de este tipo de presentaciones$
4ara crear esta animacin de&er1s crear tantas capas como animacione s de l*neas #a-as a crear) en el e!emplo hemos creado ; capas$ Fna para el mo#imiento de l*neas de a&a!o a arri&a) otra para el mo#imiento de arri&a a a&a!o) otra para i'uierda a 93 derecha - %inalmente una >ltima para el mo#imiento de derecha a i'uierda$ 6am&in crearemos una capa ue situaremos en la posicin superior donde colocaremo s las im1,enes ue %ormar1n el mensa!e de &ien#enida$ 8l %uncionamiento de la animacin es claro) de&eremos crear interpolaciones de mo#imiento para cada una de las capas de l*neas ue en su posicin %inal empla'aremos en su lado contrario de la pantalla) por e!emplo) las l*neas situadas en un principio en la parte in%erior al %inal de la animacin se encontrar1n en la parte superior$ Keali'aremos esto con las ; capas de l*neas$ 8n la capa Imgenes crearemos animaciones ue har1n aparecer las im1,enes ue %orman el mensa!e de &ien#enida de %orma secuencial) es decir) del %oto,rama O al H3 se mostrar1 una ima,en) del HH al HS otra - la >ltima la mostraremos del %oto,rama HT al ::$ 0e esta %orma) ha&iendo creado los 94 %oto,ramas cla#es en cada uno de los %oto,ramas de inicio (O) HH - HT)) arrastraremos desde la BibIioteca (men> Ventana Q BibIioteca) las im1,enes para colocarlas en su lu,ar en el %oto,rama$ 8stas im1,enes se mostrar1n >nicamente durante el tiempo ue dure el %oto,rama para desaparecer m1s tarde dando paso a la otra ima,en$ 7onse!o5 Si uieres a.adir un %ondo de&er1s hacerlo en una nue#a capa - colocar sta de&a!o de todas las e"istentes$
Au* mostramos la %orma de crear una animacin de este tipo$ Interpolacin mediante +u*a de Mo#imiento
Anteriormente hemos #isto como las interpolaciones de mo#imiento despla'a&an s*m&olos Flash en l*nea recta$ 4uesto ue esto supone una cierta limitacin Flash 8 inclu-e la +u*a de mo#imiento$ Fna ,u*a de mo#imiento es una capa especial ue marca una tra-ectoria para los s*m&olos de la capa a la ue a%ecta) para ue dichos s*m&olos la si,an) durante el mo#imiento$ 8sta capa es in#isi&le durante la reproduccin - permite di&u!ar cualuier tipo de di&u!o #ectorial) ue nos permitir crear un movimiento no forzosamente rectiIneo. 7rear un mo#imiento mediante esta tcnica es &astante sencillo) &asta con crear una interpolacin de mo#imiento en una capa) seleccionarla (de&emos ase,urarnos de esto para e#itar ue la ,u*a se asocie a otra capa)) - colocar el s*m&olo del >ltimo %oto,rama al %inal del tra'ado ue reali'aremos pre#iamente en la capa de la ,u*a$ =o es necesario colocarlos al principio del tra'ado -a ue Flash lo hace autom1ticamente$ /emos como la capa a la ue se asocia la ,u*a aparece de&a!o - alineada a la derecha$ 95
7rear interpolaciones de mo#imiento ,uiadas es mu- sencillo) Lo primero ue de&er1s hacer es crear una animacin de mo#imiento) para ello5 H$ 7rea un %oto,rama cla#e pulsando F6 e inserta en l el s*m&olo ue uieres ue realice el mo#imiento$ :$ 7rea un nue#o %oto,rama cla#e para marcar la duracin de la animacin) por e!emplo) si creaste el primer %oto,rama en la posicin O) crea el nue#o en la posicin :O) as* tendr1s una animacin ue durar1 :3 %oto,ramas$ 2$ Selecciona todos los %oto,ramas ue inter#en,an en la animacin - ha' clic derecho so&re uno de ellos en la Lnea de tiempos$ Selecciona la opcin Crear interpoIacin de movimiento$ Fna #e' creada la interpolacin - con la capa seleccionada pulsa el &otn Aadir gua de movimiento$ Se crear1 una nue#a capa asociada a auella donde tienes creada la animacin$ Ahora el procedimiento es %1cil) selecciona la herramienta Lpiz - di&u!a en la capa ,u*a el recorrido ue de&e se,uir el s*m&olo$ 7uando lo ha-as creado selecciona el >ltimo %oto,rama de la animacin - coloca el s*m&olo en su punto %inal$ Kecuerda ue el s*m&olo de&e estar siempre en contacto con la l*nea de ,u*a tanto en el primer como >ltimo %oto,ramas$
Au* se puede #er cmo reali'arlo$
4odemos #er un e%ecto m1s #istoso ue el ue reali'amos con la interpolacin 96 sencilla del principio del tema$
4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema H2 $ Unidad 14. Animacin por Forma (I) Interpolacin por Forma
7uando lo ue ueramos no sea cam&iar la posicin de un o&!eto en el escenario) sino su %orma de manera pro,resi#a (o am&as cosas a la #e')) Flash 8 nos o%rece la tcnica de la InterpoIacin por Forma) ue consiste simplemente en ir trans%ormando el contorno de un o&!eto creado en su inter%a' hasta ue sea i,ual ue el contorno de otro o&!eto distinto$ Keali'ar una interpolacin por %orma) es mu- seme!ante a crear una interpolacin de mo#imiento$ Flash ,enera %oto,ramas intermedios en los ue #a #ariando li,eramente la %orma del %oto,rama anterior$ As* como hac*amos en el tema anterior) slo necesitamos dos %oto,ramas cla#e$ 7olocaremos en el primer %oto,rama el o&!eto con su aspecto ori,inal) - en el >ltimo la apariencia %inal ue ueremos ue ten,a$ 8sta #e') es importante destacar ue para que una InterpoIacin por Forma 97 funcione como es debido aqueIIos objetos que intervengan debern ser objetos vectoriaIes (no smboIos FIash). 0e&emos tener tam&in dos aspectos en cuenta5 1) Separar en distintas capas los o&!etos %i!os - los ue estar1n animados$ 2) 4oner en distintas capas o&!etos ue #a-an a ser trans%ormados con %ormas distintas) -a ue Flash trans%ormar1 todos los o&!etos #ectoriales del primer %oto,rama en auello ue ha-a en el >ltimo %oto,rama de la interpolacin$ Si reali'amos la interpolacin por %orma correctamente la l*nea de tiempos tendr1 este aspecto5 Las consideraciones so&re la #elocidad - el n>mero de %oto,ramas ue #imos en las interpolaciones de mo#imiento se pueden aplicar tam&in a la interpolacin por %orma - a cualuier animacin hecha con Flash$ Si ha- al,>n %allo en los par1metros necesarios para ue la interpolacin se e!ecute &ien) como por e!emplo) ue uno de los o&!etos en capa sea un s*m&olo) se mostrar1 al,o as* en la l*nea de tiempos5
98 4ara crear una interpolacin de %orma de&er1s actuar de %orma similar ue para crear una de mo#imiento$ Fna #e' ten,as los %oto,ramas de inicio - %in de la animacin de&er1s seleccionar todos los %oto,ramas ue participen en ella - a&rir el panel Propiedades$ All* de&er1s seleccionar la opcin Forma en el desple,a&le Animar$ E -a ha&r1s terminado$ F1cil) #erdad? 4odemos o&ser#ar como reali'ar una interpolacin por %orma pulsando au*$ A la derecha podemos #er el resultado del proceso anterior$
6am&in podemos reali'ar interpolaciones de %orma en #arias %ases de manera an1lo,a a como lo hac*amos en el tema anterior$ 0e esta %orma podemos hacer ue un determinado o&!eto de con#ierta en otro antes de adoptar su %orma de%initi#a$ 99 Ahora) a la derecha podemos #er el e!emplo anterior pero haciendo ue se trans%orme pre#iamente en un tri1n,ulo antes de pasar a ser cuadrado$ Lo hemos conse,uido simplemente haciendo cIic con eI botn derecho so&re el %oto,rama H3 - creando un %oto,rama cla#e (Insertar Fotograma CIave)$ Lue,o slo tenemos ue &orrar el o&!eto ue aparece en el escenario - di&u!ar el tri1n,ulo$ 6rans%ormar 6e"tos
0e&ido a la importancia de los te"tos) es importante comentar las aplicaciones ue tienen los cam&ios de %orma so&re ellos$ A.adimos as* una posi&ilidad m1s para reali'ar lo,otipos o presentaciones #istosas - transmitir in%ormacin de manera espectacular$ Kecordemos ue para reali'ar una interpolacin de %orma es necesario ue el o&!eto sea de tipo #ectorial$ 8ste no es el caso de los te"tos) ue se &asan en %uentes - son creados en %uncin de los #alores de la ta&la AS7II - un tipo de letra asociado$ 4ara solucionar este pro&lema) de&eremos trans%ormar el te"to pre#iamente en un o&!eto #ectorial) es decir) como si hu&iramos repasado con la herramienta l1pi' el contorno de cada letra$ 4osi&ilidades de esta tcnica en te"tos? Much*simas) aunue puede lle#ar a con%usiones si no se hace adecuadamente$ 4or e!emplo de&emos ase,urarnos de dar su%icientes %oto,ramas de mar,en para ue se note la transicin$ 6am&in es con#eniente dar un tiempo para ue cada letra sea mostrada - pueda ser #isuali'ada - BentendidaB por auel ue #ea la pel*cula) porue si no lo hacemos corremos el ries,o de ue la animacin pare'ca slo un ,ara&ato re#ol#indose$ Fna de las posi&ilidades es BdeletrearB una pala&ra de 100 manera tan #istosa como #emos a la i'uierda$ 4odemos compro&ar como simplemente cam&iando el color del o&!eto %inal) se produce una transicin tam&in en el color$ C&ser#emos a su #e' como cuando se %orma cada letra) mantenemos su ima,en el tiempo su%iciente como ha&*amos indicado ue era necesario$ 8n este otro e!emplo se o&ser#a la transicin de colores m1s claramente -) adem1s) o&ser#amos transiciones de %orma a te"to$
7uando creemos interpolaciones de %orma - ueramos incluir te"tos de&eremos actuar de un modo especial dado ue un o&!eto de te"to no se considera como una %orma$ 4ara ello) - una #e' ten,amos la animacin creada con una %orma en el %oto,rama inicial - un te"to en el %inal #eremos ue la interpolacin aparece como incorrecta$ 0e&eremos) entonces seleccionar el %oto,rama donde se encuentre el te"to - seleccionarlo$ Haremos clic en el men> Modificar Q Separar para con#ertir el te"to en un con!unto de puntos ue creen una %orma$ E la interpolacin -a estar1 lista$ 7onse!o5 7uando #a-as a aplicar el comando Separar so&re una pala&ra completa o&ser#a ue primero lo ue hace es separar la pala&ra en letras inidi#iduales$ 0e&er1s e!ecutar de nue#o el comando para ue estas letras se separen - creen una %orma$ 101
Au* mostramos como reali'ar una animacin de este tipo$
Unidad 14. Animacin por Forma (II) 7onse!os de Forma
7omo ocurr*a en el tema anterior) a #eces no nos #iene &ien el tipo de accin ue hace Flash por de%ecto$ 8n las interpolaciones de mo#imiento lo solucion1&amos mediante la ,u*a de mo#imiento$ 8n el caso de la interpolacin por %orma) es posi&le ue Flash realice la trans%ormacin de los o&!etos de una %orma ue no es la ue esper1&amos - ue no nos con#iene para lle#ar a ca&o nuestro propsito$ 4ues &ien) para estos casos Flash 8 nos o%rece una herramienta para solucionarlo5 los conse!os de %orma$ Los conse!os de %orma son marcas ue indican a Flash u puntos de la ima,en inicial son los ue de&en corresponderse con otros tantos puntos en la %i,ura %inal$ Al indicar esto) estamos controlando las %ormas intermedias ue se ,enerar1n$ 4ara a.adir un conse!o de %orma a una interpolacin nos situaremos en el %oto,rama inicial - pulsaremos ControI + Shift + H (o &ien ir al men> Modificar Forma Aadir Consejo de Forma)$ Aparecer1 un c*rculo de color con una letra dentro en el centro de la %i,ura$ Su color ser1 ro!o mientras no sea colocado en el contorno del o&!eto (los e"tremos) si es ue no ha- contorno)) ue es donde tiene e%ecto$ 7uando est1n colocados so&re una cur#a (#ector) ue %orma un contorno son amarillos para el o&!eto inicial - #erdes para el %inal$ 0icho c*rculo de&emos colocarlo en un punto del contorno de la %i,ura inicial$ Autom1ticamente aparecer1 un punto con la misma letra dentro en la %i,ura %inal (este punto ser1 el ue se de&a corresponder con el punto del o&!eto de ori,en) - de&eremos colocarlo en el punto ue deseemos del contorno$ 8l primer conse!o de %orma est1 marcado con la letra BaB$ Si creamos m1s de 102 uno ser1n marcados con las letras B&B) BcB) BdB $$$ hasta la ') ue es el l*mite (:S como m1"imo)$ 4ulsa au* para comprender me!or u es un conse!o o pista de %orma - #er un e!emplo de la creacin - usos de los conse!os de %orma$ Ahora realicemos el se,uimiento de otro e!emplo) tenemos la si,uiente animacin (sin conse!os de %orma)5
/amos a insertar un conse!o de %orma en el punto indicado en los ,r1%icos situados un poco m1s a&a!o5 Fi!monos en las posiciones inicial - %inal del 7onse!o de Forma - en el se,uimiento del mismo) posteriormente compro&aremos ue Flash reali'a lo ue le pedimos5
Punto IniciaI Punto FinaI
Seguimiento 103
7omo #emos el punto ue hemos marcado en el o&!eto inicial se aca&a correspondiendo con con el punto ue marcamos en el %inal) con lo ue hemos conse,uido %or'ar la trans%ormacin ue nosotros uer*amos$
8l resultado del e!emplo anterior es este$
8!ercicios del 6ema H; 4rue&a e#aluati#a del 6ema H;$ Unidad 15. 8%ectos so&re Animaciones (I) Introduccin
Si no te parecen su%icientes las interpolaciones de %orma - de mo#imiento) - uieres reali'ar animaciones m1s comple!as) puedes com&inar las interpolaciones de mo#imiento con los e%ectos - trans%ormaciones ue se pueden reali'ar so&re los s*m&olos ue las componen - aplicar e%ectos so&re las mismas interpolaciones$ Fna #e' comprendidas todas las tcnicas de este tema) estaremos en disposicin de reali'ar todo tipo de animaciones en Flash$ Slo tendremos ue poner un poco de ima,inacin porue) como hemos #isto - #eremos) el pro,rama nos %acilitar1 enormemente el tra&a!o$
104 8%ectos so&re la Interpolacin de Mo#imiento
4ara descri&ir todos los e%ectos ue podemos aplicar so&re una interpolacin de mo#imiento pre#iamente creada) sin necesidad de tocar nin,>n s*m&olo) nos centraremos en el 4anel 4ropiedades) cuando seleccionemos un Foto,rama ue presente animaciones de Mo#imiento) los atri&utos de la animacin a modi%icar aparecer1n en este 4anel$ 8n el campo <Etiqueta de fotograma> podemos darle un nom&re a la interpolacin ue nos a-udar1 a identi%icarla en la &arra de tiempos$ Aparecer1 a lo lar,o de todos los %oto,ramas ue la componen$ EscaIar: 8sta casilla) al acti#arla) permite un incremento@decremento pro,resi#o del tama.o del o&!eto inicial cuando sus dimensiones son distintas a las del o&!eto ue est1 en la posicin %inal de la animacin$ 6odas las interpolaciones de mo#imiento ue hemos hecho hasta ahora ten*an esta opcin acti#ada aunue no lo ha-amos indicado e"presamente$ Flash la acti#a por de%ecto) -a ue es lo m1s normal$ 0e no ser as* podr*amos encontrarnos con una animacin como la si,uiente$ 7omo #emos Flash hace el despla'amiento de posicin) pero el cam&io de tama.o se produce &ruscamente en el >ltimo %oto,rama$
AceIeracin: 8sta &arra desli'ante nos permite determinar la aceleracin del primer tramo de la animacin$ 4odemos ele,ir #alores entre DH33 - H33$ Si el #alor de aceleracin es ne,ati#o el s*m&olo se mo#er1 despacio primero e ir1 acelerando de manera pro,resi#a$ Si dicho #alor es positi#o pro#ocar1 un e%ecto opuesto$ 105 4odemos por e!emplo dar la impresin de ue un o&!eto) por e!emplo un coche) arranca) #a co,iendo #elocidad poco a poco (#alor DH33) - despus #a %renando - disminu-endo su #elocidad hasta pararse$ 7omo esta) e"isten muchas otras aplicaciones$ 4ara comprenderlo me!or recomendamos hacer el 8!ercicio Acelerar Mo#imiento$
Girar: 8sta opcin es mu- interesante -a ue nos da la posi&ilidad de aplicar una rotacin al o&!eto mientras se produce el mo#imiento$ 4ara ue surta e%ecto de&emos seleccionar el primer %oto,rama de la interpolacin$ Se nos presenta un su&men> con cuatro opciones5
Ninguna. 7on esto le indicamos a Flash ue no apliue rotacin al,una so&re el s*m&olo en mo#imiento$ Automtica. Marcando esta opcin hacemos ue se produ'ca la rotacin en auella direccin ue necesite menos mo#imientos$ Si cuesta lo mismo hacerlo por un lado o - por el otro) es decir) cuando la ima,en inicial - %inal est1 en la misma posicin (en cuanto a rotacin se re%iere)) el hecho de acti#ar esta opcin no tendr1 nin,>n e%ecto$ 106 8sta opcin es la ue est1 marcada por de%ecto - por eso no hemos #isto hasta ahora un o&!eto rotar en nuestras interpolaciones$ 4ara ue hu&iera tenido e%ecto de&er*amos ha&er rotado la >ltima ima,en de la interpolacin$ Au* podemos #er cmo aplicar esta tcnica$ 8ste es el resultado ue hemos o&tenido) como podemos compro&ar) ha recorrido el camino m1s corto) -a ue el S ha pasado pro,resi#amente de su posicin anterior a la ue ocupa&a el H de la otra %orma el S ha&r*a pasado por las posiciones anteriores del O) ;) 2) : - H) siendo la lon,itud del mo#imiento mucho ma-or$ Antihorario (antes CCMR). 4ermite reali'ar el n>mero de rotaciones completas en la direccin contraria a la de las a,u!as del relo!) ue le indiuemos en la casilla de la derecha$ 6anto si la >ltima ima,en tiene rotacin como si no$ 8n caso de ue tu#iera rotacin la ima,en %inal) esta se le a.adir*a$ Horario (antes CMR). Keali'a lo mismo ue la opcin anterior pero en la direccin de las a,u!as del relo! (hacia la derecha)$ /eamos un e!emplo de rotacin a derechas en una interpolacin de mo#imiento$ A la derecha #emos el resultado$ Orientar segn trazado: Si acti#amos esta casilla) cuando la interpolacin so&re la ue actuamos es una interpolacin por ,u*a de mo#imiento) Flash har1 ue el s*m&olo tome la direccin de la ,u*a) rotando para orientarse en la misma posicin ue adopta la l*nea$ 107 4ara entender me!or este concepto) recordemos la >ltima animacin del tema H2) en la ue el a#in hac*a una especie de Bloopin,B$ Kesulta&a un poco e"tra.o #er la animacin porue los a#iones no #an marcha atr1s -) en esta ocasin - en muchas otras) no es con#eniente ue los o&!etos se mue#an solo en el escenario uedando el mismo s*m&olo inm#il) como si le#itara$ 7on este comando solucionaremos esto) - el resultado ser*a este$ Sincronizar (Sinc): 7on esto e#itamos ue no se reprodu'ca el >ltimo &ucle de un s*m&olo ,r1%ico incluido en nuestra pel*cula con una animacin en su l*nea de tiempos interna) cuando el n>mero de %oto,ramas ue ocupa en la l*nea principal no es m>ltiplo de los %oto,ramas ue contiene la instancia$ Ajustar: Si acti#amos esta opcin) el centro de la instancia (identi%icado con una cru') se a!ustar1 %or'osamente a la ,u*a ue hemos marcado en la correspondiente capa$ 0e hecho si intentamos mo#er la instancia en un %oto,rama de la animacin) Flash la #ol#er1 a colocar so&re la ,u*a de Unidad 15. 8%ectos so&re Animaciones (II) 8%ectos so&re el S*m&olo Interpolado
Ea #imos en temas pasados cmo aplicar e%ectos so&re s*m&olos - #imos ue se pod*a lo,rar e%ectos #istosos$ =o o&stante) cuando los e%ectos muestran su #erdadera potencia es cuando el s*m&olo %orma parte de una animacin$ 4ara e"plicar - demostrar las posi&ilidades de estos e%ectos #amos a a&rir el 4anel Propiedades) ue nos mostrar1) en la pesta.a CoIor los posi&les e%ectos a aplicar si seleccionamos una instancia de un s*m&olo cualuiera de nuestra pel*cula$ 4odemos aplicar los e%ectos so&re cualuier s*m&olo de cualuier %oto,rama de la animacin) tanto so&re el %oto,rama inicial o el %inal como en los intermedios$ 8n este >ltimo caso) de&eremos con#ertir a %oto,rama cla#e auel ue conten,a la instancia - despus aplicar el e%ecto$$ 108 4ara entender &ien lo ue si,ue) es necesario controlar la aplicacin de e%ectos so&re instancias$ 8sto lo #imos en el 6ema R - por eso omitiremos detalles so&re cmo aplicar e%ectos concretos so&re s*m&olos$ 8%ecto Jrillo
8l e%ecto de &rillo) como su propio nom&re indica) nos #iene mu- &ien para simular el hecho de ue al,>n o&!eto se encienda o &rille) o por el contrario se apa,ue o pierda &rillo$ 8n el e!emplo ue tenemos a la i'uierda) hemos intentado simular este e%ecto$ 4ara ello hemos creado un sem1%oro de luces intermitentes de color 1m&ar$ 7omo se puede #er) las luces se encienden - apa,an pro,resi#amente de manera alternada$ 4ara conse,uir esto hemos creado una interpolacin para cada lu') %ormada por tres %oto,ramas cla#es$ 8l tercero lo hemos colocado !usto en el medio de la secuencia de %oto,ramas$ A la primera lu' - a la >ltima le hemos dado el mismo #alor de &rillo) - en la del medio le hemos dado un #alor m1s alto o m1s &a!o se,>n %uera el s*m&olo de a&a!o o el de arri&a$ 7omo los mo#imientos de las luces son distintos e independientes los hemos colocado en distintas capas$ 4ara la lu' superior los #alores de &rillo %ueron5 3 para el primer %ot$ cla#e) D;S para el central - 3 para el del medio$ E en la lu' in%erior al contrario5 3 para el primer %ot$ cla#e) D;S para el central - 3 para el del medio$ 8%ecto 6inta
109 8l e%ecto de 6inta) tiene un amplio marco de posi&ilidades de uso$ 8s mu- usado en te"tos - en &otones) por e!emplo haciendo ue cam&ien pro,resi#amente de color al pasarles el ratn por encima o simplemente e%ectos de cam&io de color en presentaciones$ 8l tintar colores supone un toue ale,re - mu- #istos en las presentaciones - si se usan #arios e%ectos) com&inados adecuadamente) dota de un ritmo r1pido a la animacin) como una e"plosin de color ue sorprenda al receptor de la pel*cula$ Ctro interesante uso de este e%ecto es simular la pro-eccin de una lu' de color so&re un o&!eto ue se #a acercando al %oco$ /eamos un e!emplo de esto$ /emos como al acercarse el a#in a la lu' ro!a del Sol) ste lo ilumina con una lu' ro!a$ Hemos aplicado a la instancia del a#in del >ltimo %oto,rama de su interpolacin de mo#imiento un e%ecto de tinte ro!o con una intensidad del S3U$ Lo mismo hemos hecho en el centro del Sol pero con dos %ases) poniendo en el %oto,rama central un e%ecto de tinte ,ranate del :OU$ La corona solar es simplemente una interpolacin de %orma en cuatro %ases$
8%ecto 6ransparencia (Al%a)
8ste es pro&a&lemente el e%ecto m1s utili'ado de&ido a la #ersatilidad del hecho de controlar el ,rado de #isi&ilidad de los o&!etos$ 4odemos) por e!emplo) simular un %oco apuntando a un escenario o) lo m1s com>n) hacer aparecer o&!etos de la nada - tam&in hacer ue se des#ane'can poco a poco$ 110
8ste e!emplo podr*a representar la entrada a cualuier (e& o portal de Internet) de hecho es &astante t*pico$ 4ara #er como reali'ar una animacin como la anterior pulsa au*$ 8!ercicios del 6ema HO 4rue&a e#aluati#a del 6ema HO$ Unidad 16. +enerar - 4u&licar 4el*culas (I) 7onsideraciones so&re el tama.o de las pel*culas
Antes de a#enturarnos a pu&licar nuestra pel*cula para ue otros la #ean) so&retodo si la #amos a pu&licar en una p1,ina (e&) donde el tama.o de descar,a es de #ital importancia) de&emos tener en cuenta los si,uientes aspectos5
CONSIDERACIONES EN EL DIBUJO: Aunue los degradados ueden mu- #istosos) tam&in reuieren m1s memoria) por lo ue de&emos e#itar su uso e"cesi#o) en la medida de lo posi&le$ 111 La herramienta PinceI ,asta m1s memoria ue el resto de herramientas de di&u!o) por lo ue de&er*amos ele,ir estas >ltimas en la medida de lo posi&le$ Hemos #isto ue la animacin de l*neas es &astante >til$ Sin em&ar,o el uso de Ineas ue no sean las de%inidas por de%ecto - ue usamos en el cap*tulo ue hemos comentado) har1 ue el tama.o de la descar,a aumente$ 4or tanto e#itemos las l*neas discontinuas) de puntos $$$ 0i&u!ar las curvas con el menor n>mero de nodos posi&le$
CONSIDERACIONES EN LA ORGANIZACIN: Agrupar los o&!etos ue estn relacionados) con el comando Modificar Q Agrupar$ Si hemos creado un o&!eto ue #a a aparecer #arias #eces) de&er*amos convertirIo a smboIo) -a ue como hemos #isto) Flash lo colocar1 en la &i&lioteca - cada #e' ue uiera mostrarlo) har1 re%erencia a una >nica posicin de memoria$ Ea hemos comentado el ma-or tama.o de los mapas de bits) lo ue hace ue de&amos minimi'ar el n>mero de apariciones de stos en nuestra pel*cula$
CONSIDERACIONES EN LOS TEXTOS: Hemos podido o&ser#ar) cuando mane!1&amos te"tos) ue cuando a&rimos el men> de tipos de Ietras) las tres primeras son siempre BXsansB) BXseri%B - BXt-pe(riterB$ 8sto no es una casualidad$ 8st1n colocadas ah* para resaltar ue estas %uentes ocupan un m*nimo de memoria) por lo ue se recomienda su uso$
CONSIDERACIONES EN LA ANIMACIN: Ftili'ar lo m1s ue podamos las interpoIaciones de movimiento y Ias guas para reducir el n>mero de %oto,ramas cla#e - el tama.o de la pel*cula$ 8#itar el uso de la interpoIacin por forma para animaciones de cam&io de color) cuando sea posi&le$ Independientemente de la optimi'acin ue ha,amos) a #eces no se puede 112 e#itar ue el tama.o de la pel*cula aumente$ 8s recomenda&le entonces hacer un preIoader (precarga) cuando Ia peIcuIa que queramos pubIicar sea de tamao superior a unos 80KB.
4reloader$ 7ar,ar la 4el*cula entera antes de reproducirla
Fn preloader se usa principalmente para e#itar la car,a parcial de la pel*cula) mientras esta se est1 reproduciendo) lo ue) en ocasiones en las ue la pel*cula es de un tama.o considera&le) hace ue la pel*cula se #ea entrecortada$ =ormalmente) los preloaders se hacen #istosos para ue el o&ser#ador no se a&urra - de!e de lado la opcin de #isitar nuestra (e&$ Suelen lle#ar al,una animacin sencilla ue se #a reproduciendo mientras se est1 car,ando simult1neamente la pel*cula principal) mucho m1s ,rande$ Se pueden complicar mucho m1s) pero nosotros haremos uno sencillo ue nos sir#a para entender &ien el concepto) - la manera de hacerlo$ 4artimos de ue -a tenemos nuestra pel*cula terminada$ Si ueremos sa&er su tama.o podemos ir a Archivo Q Configuracin de pubIicacin seleccionar la pesta.a FIash) - marcar la casilla Generar Informe de Tamao$ Si pulsamos el &otn PubIicar) aparecer1 en nuestro directorio un archi#o de te"to donde se e"plica con detalle el tama.o de nuestra pel*cula$ Ahora insertaremos una nue#a escena (Insertar Q Escena)$ 0e&er1 ser la primera ue se e!ecute$ 4ara ase,urarnos de ello accedemos a Ventana Otros PaneIes Escena) - en la #entana ue aparece arrastramos la escena ue aca&amos de crear hasta ue est la primera$ 8n nuestro e!emplo le hemos llamado B4reloaderB - hemos supuesto ue la 8scena con la pel*cula se llama B4eliculaB (l,icamente)$ 0e&er1 uedar al,o similar a lo ue muestra la ima,en$ 8n la escena recin creada insertaremos otra capa) de manera ue nos ueden dos capas a las ue llamaremos) BAccinB - B7ar,andoB$ 8n la capa B7ar,andoB crearemos una animacin sencilla$ 4or e!emplo) ha,1mosle 113 honor al t*tulo - escri&amos B7ar,ando $$$B< puedes aplicarle la animacin ue pre%ieras) siempre ue no sea mu- comple!a$ 8n la capa BAccinB dise.aremos el Bcora'nB del preloader$ /amos a hacer ue la animacin de nuestra escena de car,a se e!ecute repetidas #eces) hasta ue se ha-a car,ado la escena ue contiene la pel*cula principal) mediante las acciones ActionScript : de Flash 8$ 4ara ello a&rimos el panel de Acciones$ /amos a seleccionar el >ltimo %oto,rama e introducimos la accin ,otoAnd4la-) ue por de%ecto nos escri&ir1 B,otoAnd4la-()B - nos situar1 el cursor en el interior del parntesis para ue introdu'camos la escena - el %oto,rama al ue se de&er1 ir al e!ecutar dicha accin$ 8n nuestro caso ueremos ir al %oto,rama H de la escena B4eliculaB) con lo ue escri&iremos lo si,uiente5 gotoAndla%&'elicula'( )*+ Ahora seleccionamos el pen>ltimo %oto,rama) ue es el ue impedir1 ue se lle,ue al >ltimo (o sea) ue repetir1 el &ucle ue muestra la animacin Bcar,andoB) cuando a>n no se ha-a car,ado la pel*cula por completo$ 4ara hacer esto) ele,imos la accin ,!ramesloaded (%oto,ramas car,ados) - la accin ,total!rames (%oto,ramas totales) e indicamos en el panel acciones lo ue ueremos hacer$ Ser*a al,o como B7uando el n>mero de %oto,ramas car,ados sea ma-or o i,ual al n>mero de %oto,ramas totales) entonces comen'amos a reproducir la pel*culaB (aunue sea tericamente imposi&le ue el n>mero de %oto,ramas car,ados sea ma-or ue el de %oto,ramas totales) nunca est1 de m1s incluir esta condicin por si 114 acaso Flash conta&ili'a internamente los %oto,ramas de un modo di%erente)$ 4odr*amos escri&ir al,o como lo ue muestra la ima,en5 7on esto) hacemos ue apare'ca en la pantalla el te"to Bcar,andoB - mientras se reproduce su animacin) iremos compro&ando peridicamente si la pel*cula principal est1 car,ada por completo) si no lo est1 se,uiremos mostrando el te"to Bcar,andoB hasta ue la compro&acin ue hacemos en el >ltimo %oto,rama nos indiue ue nuestra pel*cula se ha car,ado$ 8n ese momento) de!aremos ue la animacin del preloader lle,ue a su >ltimo %oto,rama) ue contiene la accin ue nos lle#ar1 a reproducir la pel*cula$ E esto es todo lo ue ha- ue hacer para crear un preloader (aunue por supuesto se puede hacer m1s so%isticado)) con lo ue los #isitantes -a no huir1n de nuestra (e&$ 0istri&ucin como archi#o s(% en un reproductor autnomo
115 4ara poder distri&uir pel*culas creadas en Flash ue la ,ente pueda #er) son necesarias dos cosas5 crear un archi#o S?F - ue el ue la uiera #isuali'ar ten,a instalado el Keproductor de Flash$ Flash nos o%rece #arias opciones - %uncionalidades para la creacin de un archi#o S?F$ 8stas opciones se pueden #er en el panel de Configuracin de PubIicacin) al ue podemos acceder mediante el men> Archivo Q Configuracin de PubIicacin (4esta.a FIash)$ /eamos cu1les son estas opciones5 Versin: Si ueremos pu&licar nuestra pel*cula para ue sea #ista con #ersiones anteriores de Flash) de&emos seleccionar au* la #ersin deseada$ Orden de Carga: Au* indicamos el orden en ue ueremos ue se car,ue el documento$ Si seleccionamos De abajo a arriba se car,ar1 primero el contenido de la capa in%erior (de la capa H hasta la >ltima capa ue ten,amos en el 116 documento)$ 4or el contrario) si seleccionamos De arriba a abajo se car,ar1 primero el contenido de la capa superior (de la >ltima capa ue ten,amos en el documento hasta la capa H)$ 8ste comando es importante de&ido a la propiedad de Flash de ir reproduciendo la pel*cula con%orme los o&!etos son car,ados$ As*) en caso de ue nos interese ue apare'can antes unos o&!etos ue otros seleccionaremos uno o el otro$ Versin de ActionScript: 8l uso de ActionScript : nos permitir1 usar las no#edades relati#as a o&!etos) clases etc$$$ Si nuestra pel*cula slo usa acciones sencillas podemos de!ar en esta pesta.a la opcin ActionScript H$3 Generar Informe de tamao: 8sta opcin la hemos usado en el apartado anterior$ Si la acti#amos) se crear1 un archi#o de te"to con una relacin detallada del tama.o del documento$ Proteger Frente a 117 Importacin: Acti#ando est1 casilla conse,uiremos ue cuando otro usuario (o nosotros mismos) ueramos importarla no podamos o ten,amos ue introducir una contrase.a si se ha esco,ido al,una$ Omitir acciones de Trazado: Las acciones de tra'a se emplean para compro&ar el correcto %uncionamiento de la pel*cula durante la creacin de esta (durante las prue&as)$ 6am&in se consideran tra'as los comentarios ue insertemos en el cdi,o Action Script$ Si acti#amos esta se.al) la pel*cula creada no los incluir1) ocupar1 menos tama.o - ahorraremos tiempo innecesario$ 8s recomenda&le cuando se pu&liue la pel*cula de un modo de%initi#o$ Depuracin Permitida: 4ermite ue se pueda depurar el archi#o S?F$ 6am&in e"i,e la introduccin de una contrase.a -a ue se de&e tener permiso del creador para Importar el archi#o - depurarlo$ Comprimir peIcuIa: 7omprime la pel*cula al m1"imo posi&le$ CaIidad JPEG: Si en el panel de propiedades del mapa de &its no hemos indicado una compresin concreta) au* podremos determinar su ,rado de compresin) ue determinar1 a su #e' el espacio ocupado en memoria por este tipo de im1,enes$ A ma-or compresin) menos espacio en memoria ocupar1 la ima,en) pero tam&in su calidad ser1 menor$ EstabIecer FIujo de Audio o Evento de Audio: 8sta opcin nos permite acceder al 4anel B7on%i,uracin de SonidoB desde donde podemos con%i,urar) para cada tipo de sonidos) sus caracter*sticas$ SupIantar configuracin de sonido: 7on esto se suplantar1n los ni#eles de compresin seleccionados para cada archi#o de sonido de nuestro documento$ 4ara entender me!or este concepto te recomendamos hacer el 8!ercicio 4u&licar S?F Unidad 16. +enerar - 4u&licar 4el*culas (II) 0istri&ucin para 41,inas ?e&
8sta es una parte importante) -a ue normalmente las pel*culas de Flash est1n 118 orientadas a la pu&licacin #*a ?e&$ 4ara pu&licar una pel*cula Flash en Internet de manera ue %orme parte de una p1,ina (e& de&eremos insertarla en un archi#o t*pico de p1,inas (e& cu-o len,ua!e de pro,ramacin sea del estilo del H6ML$ 4ara ello de&emos atender a las opciones de pu&licacin H6ML ue nos o%rece Flash) - ue nos a-udar1n a ue nuestra pel*cula se #isualice como realmente ueremos$ Las opciones de este tipo de pu&licacin est1n en Archivo Q Configuracin de PubIicacin... (4esta.a HTML)$ PIantiIIa: 4ara incrustar una pel*cula Flash en un documento H6ML) ha- ue escri&ir una serie de cdi,os de pro,rama al,o comple!os - la&oriosos de hacer a mano$ 4ara %acilitarnos esta tarea Flash hace esto autom1ticamente pero) puesto ue cada (e& es distinta - nuestras necesidades #an a ser mu- distintas) los codi,os tam&in ser1n muchos - distintos) por esto Flash inclu-e 4lantillas) ue crean este cdi,o autom1ticamente se,>n el tipo de pu&licacin ue deseemos5 8n el &otn Informacin ue est1 a la derecha de la pesta.a B4lantillaB se nos muestra in%ormacin mu- >til so&re cada tipo de plantilla$ 8stas son las plantillas m1s comunes5 SIo FIash: 8sta es la opcin predeterminada - 119 utili'a el reproductor Flash 8$
FIash con FSCommand: Imprescindi&le cuando se usen FS7ommands$ Mapa de Imgenes: Si hemos incluido una Ima,e Map (im1,enes completas ue e!ecutan distintas acciones se,>n la coordenada ue se pulse) de&emos acti#ar esta opcin$ Pocket PC 2003: 8specialmente dise.ado para 4ocWet Internet 8"plorer en 4ocWet 47 :332$ QuickTime: 4ermite incluir una pel*cula QuicW6ime$ etc $$$ Detectar Versin de FIash: 0esde au* podemos seleccionar si ueremos ue nuestra pel*cula detecte la e"istencia o no e"istencia del plu,in de Flash en el ordenador del usuario) as* como las p1,inas (e& donde se insertar1 el cdi,o encar,ado de compro&arlo - las p1,inas (e& a las ue se ir1 en caso de disponer 120 del 4lu,in o no disponer de l$ Dimensiones: 8speci%ica la unidad en la ue mediremos las dimensiones del 0ocumento$ Anchura X AItura: Au* introduciremos la anchura - altura) teniendo en cuenta ue a #eces un o&!eto m1s ,rande ue estas dimensiones pro#ocar1 un cam&io en stas$ Reproduccin: 4ermite reali'ar determinados cam&ios en cuanto a la reproduccin de la pel*cula5 Pausa aI Comienzo: 4ermite ue sea el usuario uien ha,a ue se inicie la reproduccin) ue inicialmente aparecer1 detenida$ Reproduccin Indefinida: 7uando la pel*cula termine) #ol#er1 a empe'ar desde el principio$ 8sto lo har1 in%initamente$ VisuaIizar Men: 4ermite ue al hacer el usuario clic con el &otn derecho del ratn so&re la pel*cula) el men> emer,ente ten,a todas las opciones por de%ecto$ Si la desacti#amos slo aparecer1 la opcin BAcerca de FlashB$ 121 Fuentes de Dispositivo: Sustitu-e las %uentes utili'adas en los te"tos sin animacin de la pel*cula por las %uentes predeterminadas en la m1uina de uien la #isualice$ CaIidad: Au* podemos modi%icar la calidad de #isuali'acin de la pel*cula) ue depende del sua#i'ado de la ima,en - el tiempo de reproduccin$ Las opciones son5 Baja =o ha- sua#i'ado$ 8l tiempo de reproduccin es el de m1"ima #elocidad$ Baja Automtica: 8l reproductor detecta si la m1uina soporta en cada instante un li,ero sua#i'ado) si lo soporta) lo aplica$ 8l tiempo si,ue siendo mu- r1pido$ AIta Automtica: 4one al mismo ni#el el tiempo - el sua#i'ado) pero si ha- al,una limitacin) siempre dar1 pre%erencia a la #elocidad$ Media: /alores intermedios de #elocidad - sua#i'ado$ =o sua#i'a los &itmaps$ AIta: Fsa siempre el sua#i'ado) los mapas de &its se sua#i'an slo si no ha- animacin$ 0a pre%erencia a la &uena #isuali'acin$ ptima: Se sua#i'a todo) incluidos los mapas de &its en cualuier caso$ 6otal pre%erencia de la apariencia %rente a la #elocidad$ Modo de Ventana: Cpciones para la reproduccin dentro de las #entanas de ?indo(s5 Ventana: Se reproduce la pel*cula en la #entana de la (e& en la ue est1 insertada$ Opaco sin Ventanas: Hace ue los o&!etos situados en capas situadas detr1s de la pel*cula no se #ean (en p1,inas 0H6ML)$ Transparente sin Ventanas: 8s el opuesto al anterior$ 4ermite ue los o&!etos situados detr1s se #ean$ AIineacin HTML: 4osicin relati#a de la pel*cula dentro de la p1,ina (e& H6ML$ 6enemos #arias opciones5 122 Predeterminada: 7entra la pel*cula en la p1,ina$ Si no ca&e se cortan los e"tremos$ Izquierda: Alineacin a la i'uierda$ 6am&in se recortan los &ordes si no ca&e$ Derecha: Alineacin a la derecha$ Superior: Alineacin en el &orde superior de la p1,ina$ Inferior: Alineacin en el &orde in%erior de la p1,ina$ EscaIa: Si hemos especi%icado el tama.o en p*"eles o en tanto por ciento) podemos decirle a Flash cmo distri&uir la pel*cula en el rect1n,ulo ue hemos decidido ue la conten,a5 Predeterminada: Se #e toda la pel*cula ,uardando las proporciones ori,inales$ Sin Borde: Kecorta (en caso de ue la pel*cula sea m1s ,rande ue el rect1n,ulo) todo lo ue so&re con el %in de mantener las proporciones$ Ajuste Exacto: 0istorsiona las proporciones si es necesario para conse,uir ue la pel*cula ocupe el rect1n,ulo completo$ AIineacin FIash: Se hace necesario alinear la pel*cula cuando esta no tiene las mismas dimensiones ue el rect1n,ulo de%inido$ Las opciones son5 AIineacin HorizontaI: 4odemos esco,er entre 7entro) I'uierda o 0erecha$ AIineacin VerticaI: 4odemos esco,er entre 7entro) Superior o In%erior$
Mostrar Mensajes de advertencia: 4ermite ue se muestren los posi&les mensa!es de error de cdi,o Action Script$ Au* podemos #er un e!emplo de pu&licacin de una pel*cula Flash para la ?e&$ 8!ercicios 4ropuestos 4rue&a e#aluati#a del 6ema HS 123
Unidad 17. Introduccin a ActionScript : (I) Qu es el ActionScript?
8l ActionScript es el len,ua!e de pro,ramacin ue ha utili'ado Macromedia Flash desde sus comien'os) - ue por supuesto) emplea Flash 8$ A ,randes ras,os) podemos decir ue el ActionScript nos permitir1 reali'ar con Flash 8 todo lo ue nos propon,amos) -a ue nos da el control a&soluto de todo lo ue rodea a una pel*cula Flash$ A&solutamente de todo$ Sin em&ar,o) en estos dos temas slo #amos a #er una peue.a introduccin a ActionScript ue ser#ir1 para sentar las &ases ue permitir1n empe'ar a tra&a!ar con ActionScript$ 8nse.ar a pro,ramar con ActionScript reuerir*a otro curso completo$ 4ro%undi'ar en el conocimiento de este len,ua!e ueda por cuenta del lector$ Kecomendamos se,uir la estupenda A%uda incluida en Flash 8$ 6odo lo re%erente a este cap*tulo hace re%erencia a la #ersin : de ActionScript) >ltima #ersin de este len,ua!e de pro,ramacin lan'ada por Macromedia e incorporada en Flash M9 :33;$
Caractersticas generaIes deI ActionScript 7omo -a hemos comentado) el ActionScript es el len,ua!e de pro,ramacin propio de Flash) tal - como el Lin,o lo es de Macromedia 0irector) por e!emplo$ 8l ActionScript est1 &asado en la especi%icacin 87MAD:S:) al i,ual ue otros len,ua!es como Aa#ascript$ 8l ActionScript es) como su nom&re indica) un len,ua!e de script) esto uiere decir ue no har1 %alta crear un pro,rama completo para conse,uir resultados) normalmente la aplicacin de %ra,mentos de cdi,o ActionScript a los o&!etos e"istentes en nuestras pel*culas nos permiten alcan'ar nuestros o&!eti#os$ 8l ActionScript es un len,ua!e de pro,ramacin orientado a o&!etos) tiene similitudes) por tanto) con len,ua!es tales como los usados en el Microso%t /isual Jasic) en el Jorland 0elphi etc$$$ - aunue) e#identemente) no tiene la potencia de un len,ua!e puramente orientado a o&!etos deri#ado del 7 o del 4ascal como los anteriores) cada #ersin se acerca m1s a un len,ua!e de este tipo$ As*) la #ersin :$3 estrenada en Flash M9 :33; es mucho m1s potente - mucho m1s Borientada a o&!etosB ue su anterior #ersin H$3 124 8l ActionScript presenta much*simos parecidos con el Aa#ascript< si conoce Aa#ascript) la sinta"is - el estilo de ActionScript le resultar1n mu- %amiliares$ Las di%erencias entre am&os len,ua!es las puede encontrar en la a-uda ue acompa.a al Flash 8$ 8n la ma-or parte de las ocasiones) no ser1 necesario Bpro,ramarB realmente) Flash 8 pone a nuestra disposicin una impresionante coleccin de B%uncionesB (de momento entenderemos BfuncionesB como Bcdigo Action-cript que reali.a una !uncin determinada') -a implementadas ue reali'an lo ue &uscamos) &astar1 con colocarlas en el lu,ar adecuado$
/amos a #er muchas de estas %unciones en este curso) pero antes recomendamos tener claros ciertos conceptos relacionados con la pro,ramacin$ 4ara ello) chadle un #ista'o a nuestro tema &1sico$ $ 8l 4anel Acciones
8n Flash 8) el 4anel Acciones sir#e para pro,ramar scripts con ActionScript$ 8sto es) ue todo lo ue intro'camos en dicho 4anel se #er1 re%le!ado despus en nuestra pel*cula$ 0e&emos tener claro desde un principio ue el 4anel Acciones puede hacer re%erencia a Foto,ramas u o&!etos) de modo ue el cdi,o ActionScript introducido a%ectar1 tan slo a auello a lo ue re%erencia el 4anel$ 4or e!emplo) en la ima,en in%erior) se puede distin,uir ue el 4anel Acciones hace re%erencia al Fotograma 1 de Ia Capa 1. 8l 4anel Acciones se di#ide en : partes) a la i'uierda tenemos una a-uda %acilitada por Flash ue nos da acceso de un modo r1pido - mu- cmodo a todas las acciones) o&!etos) propiedades etc$$$ ue Flash tiene prede%inidos$ 8stos elementos est1n di#ididos en carpetas) ue contienen a su #e' m1s carpetas clasi%icando de un modo e%ica' todo lo ue Flash pone a nuestra disposicin$ 4ara insertarlos en nuestro script &astar1 con un do&le clic so&re el elemento ele,ido$ 4osteriormente #eremos con detalle los distintos elementos de este 4anel$ 125 A la parte derecha tenemos el espacio para colocar nuestro script) au* aparecer1 lo ue #a-amos insertando$ 6am&in inclu-e herramientas de utilidad) como la &>sueda de pala&ras) la posi&ilidad de insertar puntos de corte) la herramienta Ke#isar Sinta"is - la a-uda de Flash para ActionScript$ 8l 4anel Acciones de Flash 8) al contrario ue el de Flash M9 :33;) no tiene nicamente un modo de edicin) por lo ue tiene mucho m1s en com>n con el mod en el ue se tra&a!a&a con Flash M9 ue con la anterior #ersin Flash M9 :33;$ La li&ertad del modo B8"pertoB es total - por tanto) tam&in lo es la posi&ilidad de comenter %allos) para ase,urarnos de ue nuestro script es correcto) al entrar en Modo 8"perto nos aparecer1 un icono con el si,uiente aspecto5 Al pulsarlo Flash re#isa nuestro cdi,o en &usca de posi&les errores) indic1ndonos) en su caso) la l*nea ue presente el error - en u consiste ste$ 8s un %allo com>n pasarse horas &uscando poru nuestra pel*cula no %unciona correctamente - ue el moti#o sea ue un error de sinta"is ha in#alidado todo el cdi,o e"istente en un %oto,rama) ue actua como si no hu&iera =A0A 08 7N0I+C en l$ 4on,amos pues) mucha atencin en esto - re#isemos el cdi,o concien'udamente$ 126 8l uso del modo en asistente es mucho m1s sencillo para ello pulsa el &otn Asistente de Script - selecciona los comandos ue uieras incluir) apareceran las opciones ue de&eras rellenar para ue estos comandos %uncionen correctamente - el cdi,o se ,enerar1 automaticamente$ 8sta es una mu- &uena utilidad recuperada ue permitira a los usuarios ue aca&an de empe'ar el uso de este len,ua!e$ Aun as* es recomenda&le siempre repasar el cdi,o - as* irnos %amiliari'ando con l - de este modo poder poco a poco crear nuestro propio cdi,o en modo 8"perto) lo ue nos dar1 m-or %le"i&ilidad a la hora de crear nuestras pel*culas$ Unidad 17. Introduccin a ActionScript (II) Los operadores
8ntrando un poco m1s a %ondo en la sinta"is - el mane!o del ActionScript) #amos a comen'ar ha&lando de los operadores) por ser la parte m1s elemental de una accin de ActionScript (- de much*simos otros len,ua!es de pro,ramacin)$ 127
Fn operador es un tipo de car1cter ue reali'a una accin especial dentro de una e"presin de ActionScript$ Fna e"presin no es m1s ue un con!unto de operadores) #aria&les - constantes relacionados entre s* de un cierto modo$ Flash 8 sacar1 un resultado de toda e"presin ue encuentre en nuestra pel*cula$ 4or e!emplo5 " Y 2 < DDZ 8s una e"presin cu-o resultado ser1 asi,narle a la #aria&le [ " [ el #alor 2 (ue es una constante) - Y O \ " < DDZ 8s una e"presin cu-o resultado ser1 asi,narle a la #aria&le [ - [ la suma de la constante O - la #aria&le [ " [ ue sa&emos ue #ale 2 (porue le hemos asi,nado este #alor antes)$ 4or tanto) el resultado de esta e"presin es asi,narle a [ - [ el #alor 8 (2 \ O)$
Flash nos permite usar multitud de operadores) #amos a comentar los m1s comunes$ 8l lector puede acceder a los dem1s (- a estos) desde el PaneI Acciones en la carpeta Operadores$ /amos a clasi%icar los operadores tal - cmo lo hace Flash 8$
Operadores Aritmticos + 5 Suma$ 8ste operador sir#e) como es de esperar) para sumar : #alores$ - 5 Resta$ Keali'a la operacin esperada de restar : #alores$ * 5 MuItipIicacin$ Keali'a el producto de : #alores / 5 Divisin$ 8s la cl1sica operacin de di#idir$ Al contrario ue en al,unos len,ua!es de pro,ramacin) este operador s* ue reali'a la di#isin completa (inclu-endo decimales) % 5 Operador Resto$ 8ste operador) no mu- conocido en matem1tica) es un cl1sico de la pro,ramacin$ 0e#uel#e el resto entre : n>meros$ /jemplo0 1 2 3 4 )( 1 2 5 4 6.
128 Operadores de Asignacin = 5 IguaI$ 8ste es el operador m1s importante de esta cate,or*a - sin duda) uno de los m1s usados$ Almacena el #alor situado en la parte derecha de una e"presin en la #aria&le situada en la parte i'uierda$ /j0 7 4 5 8 3. Almacena en la variable 7 el valor de &5 8 3*. 8l resto de operadores de esta cate,or*a son en realidad %ormas de reali'ar #arias operaciones de una #e') descri&iremos uno a modo de e!emplo) el resto %uncionan e"actamente i,ual$ += 5 MsIguaI$ 8ste operador asi,na a la e"presin situada a la i'uierda del operador el #alor resultante de sumar la e"presin situada a la parte derecha con la e"presin de la parte i'uierda$ /jemplo5 (Suponemos ue " Y ; e - Y 2) entonces) la e"presin 7 84 % provocar9a que 7 pasase a valer el resultado de sumar & 3 8 1 *. 4or tanto) la e"presin " \Y - es eui#alente a hacer5 " Y " \ -$
Operadores de Comparacin == 5 Probar IguaIdad$ 8ste operador sir#e para compro&ar si : e"presiones son i,uales$ Si lo son) el #alor de la e"presin de comparacin es [true[) ue si,ni%ica [#erdadero[$ 4or moti#os sem1nticos) decir ue una e"presin es true es eui#alente a decir ue #ale H$ Si no son i,uales) de#uel#e [%alse[ (%also) o el #alor 3$ 8sta posi&ilidad de compro&ar si una e"presin es i,ual a otra) nos ser1 mu- >til para compro&ar muchas cosas durante nuestra pel*cula - en %uncin de ellas) hacer unas cosas u otras$ 4ondremos un e!emplo) ima,inemos ue le pedimos a un usuario ue introdu'ca su edad en un campo de te"to de nuestra pel*cula %lash$ A ese campo le llamamos BedadXusuarioB$ Le hacemos pulsar un &otn B7ontinuarB - en ese momento compro&amos su edad) si tiene :3 a.os) le decimos una cosa) de lo contrario) le decimos otra distinta$ Jastar*a con hacer al,o as*5
Au* lo ue estamos diciendo es lo si,uiente5 BSi edadXusuario es i,ual a :3) entonces damos el mensa!e H) sino lo es) damos el mensa!e :$ 8l si,ni%icado de [i%[ - [else[ lo #eremos m1s adelante) de modo ue no nos preocupemos por no entender per%ectamente el cdi,o escrito arri&a$ 6am&in %altar*a) l,icamente) crear las %unciones BdarXmensa!eXHB - BdarXmensa!eX:B$
> 5 Mayor que$ 0e#uel#e como resultado #erdadero (H) si la e"presin de la i'uierda es ma-or ue la de la derecha$ 0e lo contrario) de#uel#e %alse (3)$ < 5 Menor que$ 0e#uel#e como resultado #erdadero (H) si la e"presin de la i'uierda es menor ue la de la derecha$ 0e lo contrario) de#uel#e %alse (3)$ >= 5 Mayor o iguaI que$ 0e#uel#e como resultado #erdadero (H) si la e"presin de la i'uierda es ma-or o i,ual ue la de la derecha$ 0e lo contrario) de#uel#e %alse (3)$ <= 5 Menor o iguaI que$ 0e#uel#e como resultado #erdadero (H) si la e"presin de la i'uierda es menor o i,ual ue la de la derecha$ 0e lo contrario) de#uel#e %alse (3)$ != 5 Probar DesiguaIdad$ 0e#uel#e como resultado #erdadero (H) si la e"presin de la i'uierda es di%erente a la de la derecha$ 0e lo contrario) de#uel#e %alse (3)$ 8!emplo5 2 _Y ; pro#ocar*a ue la e"presin total #aldr*a H (true o #erdadero)$ 4ues 2 es) e%ecti#amente) distinto de ;$
Otros Operadores ( ) 5 Parntesis$ Sir#en) como es de esperar) para a,rupar trminos - dar pre%erencias en las operaciones (al i,ual ue en las matem1ticas)$ 6am&in se usa) como -a #imos) para pasar par1metros a %unciones o acciones$ (`stos de&en ir entre parntesis) " " 5 ComiIIas$ 8n ActionScript) todo lo ue #a entre comillas) pasa a considerarse una cadena de caracteres) por lo ue las %unciones - acciones ue a%ectan e"clusi#amente a las cadenas de caracteres pasan a a%ectar tam&in al elemento entre comillas$ As* por e!emplo) mientras ue " representa una #aria&le con un #alor determinado) si escri&imos B"B) estamos escri&iendo en realidad el car1cter o la letra B"B$ 4or tanto) podremos a.adirlo a una pala&ra) compararlo con otras letras) escri&irlo por pantalla etc$$ pero -a no ser1 una #aria&le$ 130
8l resto de operadores no se usan tanto) su %uncionalidad - de%inicin puede consultarse en la propia a-uda de Flash 8$ Unidad 17. Introduccin a ActionScript (III) Las Acciones
Las Acciones son %unciones prede%inidas de ActionScript) es decir5 Flash 8 las crea) - nosotros slo tenemos ue usarlas de la manera ue se nos indica$ =o tenemos ue de%inir las %unciones ni nada por el estilo) ni siuiera necesitamos sa&er cmo est1n hechas$$$ Lo importante es ue est1n listas para usar) lo ue %acilita el uso de este len,ua!e de pro,ramacin - so&re todo) ha,a mu- r1pido comen'ar a pro,ramar$ Al i,ual ue en el caso anterior) e"plicaremos las Acciones m1s importantes$ 4ara una re%erencia m1s completa) recomendamos mirar la a-uda del pro,rama$ Definiremos Ias acciones escribiendo su cabecera (nombre + parmetros con un nombre genrico) para despus expIicar qu es cada parmetro. Acciones - ControI de PeIcuIa 8stas acciones se emplean) como su nom&re indica) para controlar el %lu!o de nuestra pel*cula) esto es) para indicar a Flash en todo momento u %oto,rama tiene ue mostrar) cu1ndo tiene ue parar) dnde se,uir etc$$$ /e1moslas - lo entenderemos me!or5 gotoAndPIay / goto5 8sta accin ser1) pro&a&lemente la ue m1s useis durante la reali'acin de #uestras pel*culas$ La accin ue reali'a consiste en mo#er la ca&e'a lectora al %oto,rama ue le indiuemos$ La ca&e'a lectora es lo ue determina u %oto,rama de nuestra pel*cula 131 se est1 reproduciendo en cada momento$ Si) por e!emplo) lo mo#emos del %oto,rama H al :O) lo ue #eremos instant1neamente ser1 el %oto,rama :O - la pel*cula continuar1 reproducindose a partir de ah*$ Uso: gotoAndla%&escena( !otograma*0 escena0 =om&re de la escena a la ue ueremos en#iar la ca&e'a lectora$ 0e&e ir entre comillas do&les$ !otograma5 =>mero o nom&re del %oto,rama al ue ueremos en#iar la ca&e'a lectora$ Si es un nom&re) de&e ir entre comillas do&les) si es un n>mero) =C$ EjempIo: gotoAndla%&'/scena5'( :*+ DDZ 8sta accin lle#a la ca&e'a lectora al %oto,rama T de la escena llamada B8scena:B$
PIay5 0a comien'o a la reproduccin de la pel*cula) ,eneralmente porue al,o la ha detenido$ Uso: la%&*+ ;o tiene ar<metros.
Stop5 0etiene la reproduccin de la pel*cula$ Se puede usar en un %oto,rama) cuando ueramos detenernos en l (porue es un men>) por e!emplo)) en un &otn) (para ue deten,a la pel*cula) etc$$$ Uso: 132 -top&*+ ;o tiene ar<metros.
Acciones - Navegador / Red 8stas acciones tiene di#ersas %unciones) descri&imos las m1s importantes5 fscommand5 8sta accin) es capa' de e!ecutar ciertos comandos mu- potentes$ Lo m1s cmodo es pasar a Modo J1sico (sino est1&amos -a) e insertarla) nos aparecer1 una pesta.a con los posi&les comandos ue admite5 D %ullscreen 5 Si se acti#a pone nuestra pel*cula a pantalla completa$ Mu- >til para presentaciones en 70DKom) por e!emplo$ D allo(scale5 7ontrola el redimensionamiento de los o&!etos insertados en la pel*cula cuando el usuario estira los &ordes de la misma (o de la p1,ina (e& en la ue se encuentre) Queremos mantener las proporciones? 8ste comando nos permite controlarlo$ D sho(men>5 Si has #isto el men> ue aparece al pulsar el &otn derecho del ratn so&re una pel*cula Flash) se,uro ue has pensado en hacerlo desaparecer $$$ puede ue no interese ue los usuarios puedan mo#erse a sus anchas por nuestra pel*cula$ 8!ecutando esta sentencia del modo adecuado (%alse)) podremos ocultarlo$ D trepallWe-s5 Sir#e para detectar las pulsaciones de todas las teclas durante la reproduccin de nuestras pel*culas$
6odas estas alternati#as) comparten modo de uso) #e1moslo5 133 Uso: !scommand&'comando'('true = !alse'* comando0 8l comando a e!ecutar (%ullscreen) allo(scale) etc$$$) true = !alse0 Au* de&emos escri&ir true o %alse) se,>n ueramos desacti#ar la opcin o acti#arla$ EjempIo: !scommand&'!ullscreen'( 'true'*+ >? Acti#a la pantalla completa$
getURL5 8sta accin se emplea para a&rir el na#e,ador (e& - a&rir la p1,ina (e& ue deseemos$ Uso: get#RL&url ( ventana ( 'variables'* url0 0ireccin (e& a la ue ueremos acceder (se a&rir1 una #entana)$ ventana0 4ar1metro C47IC=AL$ Modo en el ue ueremos a&rir la #entana (en la #entana actual (Xsel%) en otra nue#a (X&lanW) etc$$$) variables0 4ar1metro C47IC=AL) puede ha&er #arios$ Si la p1,ina lo permite (es AS4) 4H4 etc$$$) podemos en#iarle #aria&les$ EjempIo: get#RL&'http0==@@@.aulaclic.com'( ',blanA'*+ IoadMovie / IoadMovieNum: 8sta accin permite car,ar nue#as pel*culas Flash o im1,enes en nuestra pel*cula de %orma din1mica (la pel*cula se 134 car,ar1 cuando se lo indiuemos) - no antes)$ Uso: loadMovie;um&url ( nivel = destino( variables* url0 0ireccin a&soluta donde est1 situada la pel*cula S?F o la ima,en A48+ nivel = destino0 =i#el donde car,aremos la pel*cula) teniendo en cuenta ue el ni#el &1sico es el 3) lue,o #a el H - as* sucesi#amente$ 7ada ni#el superior se sit>a delante del anterior - toma el control$ Si lo usamos como destino) au* de&eremos introducir el nom&re del mo#ieclip donde car,aremos la pel*cula o el nom&re del marco si estamos car,ando un %ichero S?F en una p1,ina H6ML con marcos$ variables0 ar<metro BCDB;AL. 4odemos en#iar #aria&les$ EjempIo: loadMovie;um&'Mieli5.s@!'( 6* DDZ 7ar,amos la pel*cula BMi4eli:$s(%B en el ni#el principal$ =o en#iamos #aria&les$
Acciones - Condiciones 8stas acciones sir#en para controlar la l,ica de la pel*cula$ Se puede decir ue nos permiten Bha&larB con Flash para indicarle lo ue de&e hacer ante distintas situaciones$ 4or e!emplo) ahora ue conocemos muchas Acciones) 7mo indicarle a Flash ue Bsi la #aria&le " Y 2) entonces #a-a al %oto,rama O) - sino) #a-a al %oto,rama H3B?$ Sa&emos comparar) sa&emos ir a los %oto,ramas) pero no sa&emos decirle a Flash BSi pasa esto) ha' una cosa) - sino) ha' la otra$$$B$ /eamos cmo dec*rselo5 135 if ... eIse5 Si partimos de ue la traduccin literal de i% es Bsi$$$B - la de else es Bsino $$$B) nos encontramos de repente con todas las herramientas para decirle a Flash5 Bsi (pasa una condicion) ]ha' esto^ sino ]ha' lo otro^B /eamos antes ue nada su Fso para comprenderlo me!or5 Uso: i! &condicin* Esentencias) ... F else Esentencias5 ... F i!0 Indica ue accin ue #iene a continuacin es una condicional condicion0 Indica una condicion ue DEBE cumplirse para ue sucedan las acciones indicadas en BsentenciasHB$ Si stas no se cumplen) entonces lo ue sucede es lo especi%icado en las acciones indicadas en Bsentencias:B$ 4ara ue una condicin se cumpla) de&e tener como resultado true) o lo ue es lo mismo) verdadero) o lo ue es lo mismo) 1$ 0e ah* la importancia de los operadores de comparacin - el #alor ue de#uel#en$ sentencias)0 7on!unto de acciones ue suceder1n si la condicin se e#al>a como #erdadera$ Si ha- m1s de H) de&en incluirse todas ENTRE LLAVES else5 8speci%ica la alternati#a si condicion se e#al>a a %also$ 8s OPTATIVO$ Sino e"iste) - no se cumple la condicin) no se har1 nada) pues no lo hemos especi%icado$ sentencias50 7on!unto de acciones ue suceder1n si la condicin se e#al>a como %alsa$ Si ha- m1s de H) de&en incluirse todas ENTRE LLAVES 136 EjempIo: i! &7 44 5* EgotoAndla%&G*+ F DDZ Si la #aria&le " #ale :) entonces saltamos al %oto,rama :) sino) no hacemos nada i! &% ? :* E -top&*+ F else EgotoAndla%&)*+ F DDZ si la #aria&le - es ma-or ue T) paramos la pel*cula) sino) #ol#emos al %oto,rama H$ Unidad 17. Introduccin a ActionScript (I/) Los C&!etos
Los Objetos, como -a hemos #isto en el tema &1sico) son instancias de una determinada clase$ 8sto es) son representantes de una clase -a de%inida$ As*) son o&!etos) por e!emplo) un &otn) un clip de pel*cula) un ,r1%ico o un sonido $$$ es decir) ue pr1cticamente 6C0C es un CJA86C en Flash 8$ /amos a #er los o&!etos m1s usados en Flash - una &re#e descripcin de cada uno de ellos$ 7omo -a se ha e"plicado en el tema &1sico) cada o&!eto tiene una serie de 4ropiedades (ue #eremos despus) - unos Mtodos - e#entos) ue dan %uncionalidad a los o&!etos$ 7uando un componente de Flash pasa a ser un o&!eto) autom1ticamente pasa a tener todas las propiedades de%inidas por Flash para ese o&!eto - pasa a reaccionar ante los Mtodos - e#entos ue tiene de%inidos$ 4odeis encontrar una lista con todas las propiedades) mtodos - e#entos de los o&!etos en el 4anel Acciones$
Objeto "Button" (Botn) Los o&!etos de tipo Jotn tienen ; estados) como -a se ha #isto en el cap*tulo correspondiente - reaccionan ante mtodos especiales como BCnKollC#erB) BCn4ressB $$$ ue permitir1n ue sucedan cosas cuando el usuario ha,a clic so&re estos &otones) pase el ratn por encima etc$$$ 7uando nos interese ue una ima,en ue ha-amos dise.ado se comporte como un &otn) &astar1 con#ertirla a &otn (del modo #isto en el cap*tulo correspondiente) - -a podremos usar los e#entos t*picos de un &otn$ Objeto "MovieCIip" (CIip de PeIcuIa) 7uando necesitemos crear una pel*cula Flash dentro de otra pel*cula) pero 137 no ueramos tener : %icheros separados ni molestarnos en car,ar una pel*cula u otra) de&eremos crear un o&!eto mo#ieclip$ 8ntre sus propiedades especiales destaca ue los o&!etos Bclip de pel*culaB tienen) internamente) una l*nea de tiempos ue corre I=0848=0I8=68M8=68 de la l*nea de tiempos de la pel*cula principal de Flash) lo ue nos permite crear animaciones tan comple!as e independientes como ueramos (podemos crear tantos clips de pel*cula dentro de otros como ueramos) por e!emplo)$ Objeto "Sound" (Sonido) Los o&!etos sonidos no son #isuales) - por tanto) no podremos #er como uedan en los %oto,ramas) al i,ual ue har*amos con un &otn o un clip de pel*cula$ 0e&eremos controlarlos) por tanto) desde el 4anel Acciones - usando ActionScript$ 6ienen multitud de mtodos especiales) mu- potentes - >tiles) podemos parar un sonido) crear un &ucle) darle e%ectos sonoros etc$$$ 4odr*amos) por e!emplo) crear un o&!eto de tipo sonido - despus hacer ue al pulsar un &otn suene$ (8n el tema si,uiente se #er1 al,>n e!emplo de uso de sonidos)$ Objeto "Mouse" (Ratn) 138 8l o&!eto mouse es uno de los o&!etos de Flash ue -a est1 de%inido por Flash) pues hace re%erencia al ratn de ?indo(s (al ue mane!ar1 el usuario ue #ea nuestra pel*cula)$ Si lo usamos) podremos acceder a las propiedades del ratn de ?indo(s) tipo de cursos) e%ectos asociados) deteccin de su posicin etc$$$ /ale la pena insistir en ue su mane!o =C es an1lo,o al de otros o&!etos como el &otn) pues podemos crear tantos &otones como ueramos - hacer con ellos lo ue decidamos) pero el o&!eto Mouse es >nico - act>a so&re el ratn del 47 del usuario ue #ea nuestra pel*cula$ Se puede decir ue es un o&!eto Be"ternoB ue permite ue otras partes del Sistema Cperati#o interact>en con nuestra pel*cula Flash$ 4or tanto) es mu- potente$ Objeto "Math" (Matemticas) 8s uno de los m>ltiples o&!etos Ba&stractosB de Flash) ni es #isual) ni parece ue corresponda a nada e"istente en el sistema (como el o&!eto BMouseB)$ Su %uncin es mu- importante) pues nos permite usar %rmulas matm1ticas de modo mu- sencillo$ 8n el tema si,uiente #eremos al,>n e!emplo de su uso$ Objeto "String" (Cadena) 8s otro o&!eto peculiar) pues corresponde a un tipo de datos$ Los strin,s o cadenas son secuencias de caracteres$ Si de%inimos una secuencia de caracteres como o&!eto de tipo Strin,) podremos usar los mtodos ue Flash implementa so&re ellas5 Seleccionar su&cadenas de letras) &uscar una determinada letra en una pala&ra) con#ertir la pala&ra a letras ma->sculas - un lar,o etc$$$ Las 4ropiedades 139 Los Mtodos suelen ser espec*%icos de cada o&!eto) - su estudio reuerir*a un nue#o curso completo) (recomendamos consultar la a-uda incorporada en el Flash 8 cuando sur!an dudas)) pero ha- &astantes propiedades de los o&!etos ue son comunes a muchos de ellos$ /amos a #er cu1les son las m1s usadas - u representan$ 4ara usar las propiedades) se de&e colocar el nom&re del o&!eto se,uido de un punto ( . ) - despus la propiedad - su #alor$ Las propiedades siempre comien'an con un ,uin a&a!o ( _ )$ Al,unas propiedades se pueden escri&ir sin el nom&re del o&!eto al ue hacen re%erencia delante) en ese caso) har1n re%erencia a la pel*cula principal$ _aIpha Hace re%erencia a la opacidad del o&!eto al ue a%ecte$ La opacidad se puede de%inir como la noDtransparencia$ 0e modo ue un H33U de transparencia eui#ale a un 3 de opacidad) o a un 3 de alpha$ _framesIoaded Son los %oto,ramas de un clip de pel*cula o de la pel*cula principal ue el sistema lle#a car,ados en memoria$ (Si se usa sin nom&re de o&!eto delante o&tenemos los %oto,ramas car,ados de la pel*cula principal)$ Mu- >til para crear car,adores o BpreloadersB _totaIframes 0e#uel#e la cantidad de %oto,ramas ue contiene el clip de pel*cula al ue hace re%erencia$ Si se emplea sin nin,>n nom&re delante) nos de#uel#e la cantidad de %oto,ramas de la pel*cula Flash actual$ 6am&in usado en la creacin de car,adores (en el tema si,uiente #eremos cmo estas propiedades) _height 140 0e#uel#e la altura del o&!eto en p*"eles$ 4or e!emplo) si tenemos un clip de pel*cula llamado B7lipHB - escri&imos B7lipH$Xhei,htB o&tendremos la altura de 7lipH$ 0el mismo modo) podemos cam&iarla sin m1s ue hacer5 7lipH$Xhei,ht Y H33< (la altura del 7lipH pasar*a a ser de H33 p*"eles) _width 4ropiedad idntica a la anterior) pero de#uel#e la anchura$ _visibIe 0etermina si el o&!eto est1 o no #isi&le en nuestra pel*cula$ 7uando #ale H) lo est1) cuando #ale 3) pasa a ser in#isi&le$ 8s mu- >til para hacer desaparecer partes de una pel*cula en un momento determinado$ 4or e!emplo) si ueremos ue al pulsar un &otn desapare'ca el clip de pel*cula llamado B7lip:B) haremos esto5 $$$$ $$$ 7lip:$X#isi&le Y 3< $$$ $$$$ _x 7on esta propiedad o&tenemos las coordenadas del o&!eto respecto del e!e de las 9$ Sir#e para a#eri,uar la posicin o para asi,narla de %orma din1mica (durante la e!ecucin de nuestra pel*cula Flash) _y 7on esta propiedad o&tenemos las coordenadas del o&!eto respecto del e!e de las 9$ Sir#e para a#eri,uar la posicin o para asi,narla de %orma din1mica (durante la e!ecucin de nuestra pel*cula Flash)
/eremos un e!emplo para utili'ar ActionScript - re%erirnos a las propiedades de 141 los s*m&olos de nuestras pel*culas$ Lo primero ue de&emos hacer es darles un nom&re de instancia (al cual nos re%eriremos cuando escri&amos el cdi,o)$ 4ara ello) - con el s*m&olo seleccionado a&rimos el panel Propiedades$
Kempla'amos el te"to Hnombre de instancia? por un nom&re cualuiera ue ueramos$ 8l o&!eto estar1 listo para tratarlo$ 8n el supuesto de ue ten,amos un rect1n,ulo al ue ha-amos llamado r) escri&iremos el si,uiente cdi,o asoci1ndolo a un &otn (creado anteriormente) en el panel Acciones para cam&iar la anchura del primero5 on (release) { r1._width=350; } 0onde r1 ser1 la llamada al o&!eto al cual hemos modi%icado su nom&re de instancia) _ width indicar1 la propiedad ue ueremos cam&iar - 350 determinar1 el #alor ue #amos a asi,narle a dicha propiedad$
4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema HT$ Unidad 18. 8!emplos ActionScript (I) J>sueda 142 8!emplos de uso del cdi,o ActionScript
/amos a mostrar los usos m1s caracter*sticos de cdi,o ActionScript en los di%erentes o&!etos e"istentes en Flash 8$ 0e este modo lo comprenderemos me!or - poru no) nos ahorraremos tra&a!o al tener -a hechos au* muchos de los cdi,os ue usaremos en nuestras pel*culas (- con ,arant*a de ue %uncionan)$ Mostraremos el cdi,o - a continuacin) una e"plicacin del mismo$ 7di,o ActionScript en JC6C=8S
Los Jotones (o&!eto Jutton para Flash 8) tienen mucha utilidad siempre ue ueramos ue nuestra pel*cula interact>e con el usuario$ 0ado ue esto #a a ser pr1cticamente siempre) es con#eniente estudiar - entender &ien al,unos cdi,os t*picos ue tendremos ue usar para conse,uir nuestros propsitos$ 6odos los cdi,os ue mostramos en este apartado 08J8= insertarse dentro del o&!eto de tipo Jotn (Jutton) con el ue estemos tra&a!ando$ 4ara ello) seleccionaremos el &otn en cuestin - despus a&riremos - editaremos el 4anel Acciones) ase,ur1ndonos de ue ste hace re%erencia a nuestro &otn (lo indicar1 la ca&ecera de este 4anel)$ /eamos al,unos de ellos5 on (release) { gotoAndPlay(15); } /sta accin provoca que al pulsar un botn va%amos directamente al Fotograma nImero )J de nuestra pel9cula. La primera Inea indica a Flash 8 ue Bal pulsar el &otnB ha,a lo ue est1 entre las lla#es B ] $$$ ^ B$ 8ste cdi,o es caracter*stico de los &otones - nos permite controlar el pulsado del mismo$ 0ependiendo de lo ue colouemos entre los parentsis) la accin asociada al &otn se producir1 en un momento o en otro$ 8n este caso) hemos escrito BreleaseB ue si,ni%ica ue la accin se producir1 cuando) tras pulsar 8!emplo del cdi,o situado a la i'uierda$ 4artimos de una pel*cula con HO %oto,ramas - una accin stop()colo cada en cada uno de ellos$ Hemos 143 nuestro &otn) el usuario de!e de hacer clic con el ratn$ La segunda Inea es la accin ue se producir1$ 8n este caso) mo#emos la ca&e'a lectora de Flash al %oto,rama HO$ colocado el cdi,o en el &otn "Ir aI Fotograma 15". on (release) { getU!(""tt#$%%&&&'a(laclic'co)"* "+,lan-"); } /sta accin provoca que al pulsar un botn se abra una nueva p<gina @eb en nuestro navegador por de!ecto % nos muestre la p<gina @@@.aulaclic.com La primera Inea tiene la misma %uncin ue en el caso anterior La segunda Inea es la llamada al na#e,ador (e& propiamente dicha$ Los par1metros indican la direccin FKL ue ueremos mostrar - el modo de #entana ue contendr1 a la p1,ina (e&$ 8n este caso) se a&rir1 una nue#a #entana independiente de la actual$ 144 on (release) { r1'+&idt"./50; } /sta accin provoca que al pulsar un botn se modi!iquen las propiedades del objeto cu%o nombre de instancia aparece delante de la propiedad. La primera Inea tiene la misma %uncin ue en el caso anterior 8n la segunda Inea podemos #er la propiedad ._width (anchura)) lue,o esta llamada #a a acceder a esta propiedad$ /emos ue ha- un operador asi,nacin ( Y )) lue,o deducimos ue #amos a asi,nar una anchura determinada a un o&!eto$ Qu anchura? 4ues 2O3) ue es la cantidad ue aparece en la parte derecha de la e"presin$ E a u o&!eto? Al ue #a delante del B.B) o lo ue es lo mismo) al a%ectado por la propiedad$ 4or tanto) al pulsar el &otn #amos a modi%icar la anchura del o&!eto rH) ue pasar1 a ser de 2O3 p"$
7di,o ActionScript en 7LI4S 08 48LG7FLA
Los 7lips de 4el*cula (o&!eto Mo#ie7lip) son pel*culas dentro de pel*culas$ 4ueden tener cdi,o AS dentro de s* mismos (al i,ual ue los &otones)) aunue suele ser m1s com>n ue al,>n otro cdi,o e"terno (situado en %oto,ramas) les ha,a re%erencia$ 4ara ue el cdi,o ue conten,an los clips de pel*cula sea #1lido) stos de&en tener al,un e#ento de clip asociado (Load) Ie-0o(n etc) ue determine cu1ndo se e!ecutar1 este cdi,o (al car,arse el clip) al pulsar al,una tecla $$$) /eamos al,unos de estos cdi,os5
IoadMovieNum("auIaCIic.swf", 0); 8ste cdi,o AS situado dentro de un %oto,rama) pro#oca ue nuestra pel*cula Flash &usue una pel*cula llamada Baula7lic$s(%B 8= LA 7AK486A KAGL - la car,ue en el ni#el 3) es decir) en el mismo ni#el ue la pel*cula actual$ La carpeta ra*' es la carpeta en la ue est1 la pel*cula principal (la ue tiene este cdi,o)$ 145
IoadMovieNum("mifoto.jpeg", 0); 8ste cdi,o nos permite car,ar en un %oto,rama una ima,en e"istente en nuestra carpeta ra*' con e"tensin $A48+ de un modo din1mico$ 4or din1mico entendemos en tiempo de e!ecucin) lo ue si,ni%ica ue el tama.o de la pel*cula no lo notar1) ni tampoco la #elocidad de descar,a de nuestra pel*cula$ Slo cuando ha,a %alta #er la ima,en - se acceda al %oto,rama ue realice esta llamada) se car,ar1 la ima,en - se podr1 #er en la pel*cula$ La car,amos en el ni#el 3$ Si tu#iramos la ima,en en una carpeta llamada BIm1,enesB ue se encuentra dentro de nuestro directorio ra*') podr*amos acceder a ella del si,uiente modo5 IoadMovieNum("Imagenes/mifoto.jpeg", 0); 8s con#eniente remarcar tam&in) ue la ima,en de&e estar en %ormato $A48+) no sir#e el %ormato $A4+$ La si,uiente accin de&e incluirse dentro de un &otn) pues suceder1 al hacer clic so&re l (de este modo el e!emplo es m1s pr1ctico) on (release) { r1'gotoAndPlay(1); } /sta accin provoca que al pulsar un botn va%amos al !otograma 5 de un Clip de el9cula determinado. /l !otograma de la pel9cula principal ;B KARDARL. La primera Inea es 4artimos de una pel*cula con : %oto,ramas distintos$ 8n el primer %oto,rama est1n el &otn - el clip de pel*cula (rH) correspondientes$ 8l clip de pel*cula tiene en su l*nea de tiempos una animacin) inicialmente detenida$ /eamos ue pasa si se accede a su %oto,rama :$ 8n el se,undo %oto,rama no nos importa lo ue ha-a porue la accin situada a la i'uierda no nos lle#ar1 hasta all*$ La ca&e'a lectora de la pel*cula principal es INDEPENDIENTE. 146 la comentada anteriormente La segunda Inea es la accin ue se producir1$ Flash &usca un o&!eto llamado rH de tipo clip de pel*cula (mo#ieclip) - mue#e su ca&e'a lectora hasta el %oto,rama :$ La ca&e'a lectora de la pel*cula principal es completamente I=0848=0I8=68 de la ca&e'a lectora de los clips de pel*cula - no se #er1 alterada$ Unidad 18. 8!emplos ActionScript (II) 8!emplos de mane!o de Sonidos con ActionScript
Aunue la idea de o&!eto no suele lle#arnos a pensar en un sonido) en Flash 8 los sonidos tam&in son o&!etos - podemos mane!arlos usando adecuadamente ActionScript$ /eamos unos cu1ntos cdi,os mu- comunes - un completo e!emplo de cmo usarlos5 @V 7di,o H V@ )(sica . ne& So(nd(); )(sica'loadSo(nd("sonido')#/"*2alse); /stas 5 l9neas cargan un sonido % le dan nombre. La primera Inea le dice a Flash ue #amos a crear un nue#o o&!eto de tipo Sonido - ue se #a a llamar BmusicaB$ La segunda Inea car,a un sonido de nuestro disco duro llamado Bsonido$mp2B - lo car,a dentro del o&!eto musica$ 8l se,undo par1metro B%alseB indica ue es un sonido de Be#entoB) - ue) por tanto) se car,ar1 completamente antes de comen'ar a reproducirse$ 147
@V 7di,o : V@ )(sica'sto#(); 8ste cdi,o detiene el sonido BmusicaB al instante$
@V 7di,o 2 V@ )(sica'sto#(); )(sica'start(0*33); La primera l*nea como -a hemos #isto) detiene el sonido BmusicaB$ La se,unda l*nea pro#oca ue el sonido BmusicaB comience a reproducirse (start) a partir de su posicin inicial (el 3 indica los se,undos transcurridos desde el comien'o) - lo ha,a RR #eces$ (esto se llama loop o &ucle)
@V 7di,o ; V@ )(sica'sto#(); )(sica'start(0*0); 8ste cdi,o detiene el sonido BmusicaB - a continuacin lo reinicia) reproducindolo slo H #e'$ Ahora ue -a sa&emos controlar los sonidos mediante ActionScript) #eamos un e!emplo ue reune todo lo #isto anteriormente$ 148 8n este e!emplo5 D 6enemos un >nico %oto,rama con 2 &otones$ 8n este %oto,rama tenemos insertado el Cdigo ). D Los 2 &otones tienen distintas %uncionalidades5 D 8n el &otn ro!o) est1 insertado el Cdigo 5 D 8n el &otn a'ul) est1 insertado el Cdigo 3 D 8n el &otn #erde) est1 insertado el Cdigo 1 8!emplos de ActionScript en o&!etos a&stractos$ 8l o&!eto MA6H
7omo -a sa&emos) los o&!etos no #isi&les tam&in se controlan con ActionScript$ /amos a #er al,unos e!emplos del %uncionamiento del o&!eto Math - como sacarle partido$ 4 . Mat"'rando)(); /l MMtodo 'random' del objeto Math genera un nImero aleatorio entre 6 % ). /n este caso( el resultado lo almacenamos en la variable 7( para poder usarlo despuMs... Las utilidades de este mtodos son muchas) ,enerar cla#es secretas) pass(ords) n>meros de loteria etc$$$
x = Math.round(4,3); /l MMtodo 'round' R/NB;N/A el par<metro introducido eliminando la parte decimal del mismo. 8n el e!emplo) " pasar*a a #aler ;$
149 x = Math.max(5 , 2); /l MMtodo 'ma7' obtiene el valor m<7imo entre 5 nImeros. 8n el e!emplo) " pasar*a a #aler O$
8l o&!eto Math es mu- >til - nos ahorra mucho tra&a!o) pues ha- multitud de operaciones ue responden a al,uno de sus mtodos - no tenemos poru implementar$ Jasta &uscarlos en el manual - usarlos$
7reacin de un car,ador o preloader
/amos a anali'ar el cdi,o de un car,ador o preloader para aca&ar de a%ian'ar nuestros conocimientos de ActionScript5 Los car,adores o preloaders slo son necesarios cuando las pel*culas aduieren un tama.o considera&le - resulta in#ia&le #isionar la pel*cula sin tenerla toda car,ada (porue se atasca) aparecen partes incompletas etc$$$)$ /amos a suponer pues) ue tenemos una pel*cula con HO3 %oto,ramas$ Los 2 primeros los reser#aremos para crear nuestro car,ador$ 8n el Foto,rama ; comien'a la pel*cula$$$ =C6A5 Aunto a cada l*nea insertaremos comentarios (te"to entre los s*m&olos @V - V@) ue son l*neas ue Flash reconoce como tales - ue no tiene en cuenta a la hora de e!ecutar el cdi,o (es como si no e"istieran)$ Se usan para clari%icar - esplicar el cdi,o ue escri&amos - para eso lo usaremos a continuacin$ Les cam&iaremos el color para ue resalten a>n m1s$ 8#identemente no son necesarios en el cdi,o ue %inalmente insertemos en nuestra pel*cula$ 8ste es el cdi,o ue insertaremos5 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD /* Fotograma 1 */ &-tesXtotales Y ,etJ-tes6otal()< =O Hallamos el tamaPo de nuestra pel9cula con la Accin 'getQ%tesRotal&*' % lo almacenamos en la variable ,ytes+totales. O= DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
150 /* Fotograma 2 */ &-tesXcar,ados Y ,etJ-tesLoaded()< =O Hallamos los b%tes que llevamos cargados en memoria hasta el momento. /ste valor lo asignamos a la variable ,ytes+cargados O= i% (&-tesXcar,ados ZY &-tesXtotales) ] @V 8sta es la l,ica del car,ador$ Si lle#amos car,ados en memoria los mismos &-tes o m1s de los ue ocupa la pel*cula) e!ecutamos la si,uiente l*nea V@ ,otoAnd4la-(;)< =O -i hemos llegado hasta aqu9 es porque toda la pel9cula est< cargada en memoria &,ytes+cargados 5. ,ytes+totales* % podemos comen.ar a ver la pel9cula. /jecutamos gotoAndPlay(6) que nos llevar< hasta al !otograma donde comien.a la pel9cula. O= ^ else ] =O -i aun no hemos cargado toda la pel9cula O= porcenta!e Y ((&-tesXcar,ados@&-tesXtotales)VH33)< =O Averiguamos el #orcenta7e que llevamos cargado reali.ando la divisin entre los b%tes,cargados % los b%tes,totales % multiplic<ndolo por )66 O= t"tXsalida Y Math$%loor(porcenta!e)\BUB< =O Almacenamos en la variable 't4t+salida' el porcentaje que llevamos junto al s9mbolo '8'. /n la pel9cula principal tendremos un campo de te7to din<mico llamado 't7t,salida' que nos )ostrar9 el #orcenta7e de pel9cula que llevamos cargado en cada instante O= ^ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
/* Fotograma 3 */ ,otoAnd4la-(:)< @V Si lle,amos al %oto,rama 2 es porue no est1 car,ada toda la pel*cula) de lo contrario estar*amos -a en el %oto,rama ;$ 7omo a>n no est1 car,ada) #ol#emos al %oto,rama anterior para #er si -a lo est1 (mediante gotoAndPIay(2);)$ 8sto lo haremos tantas #eces como ha,a %alta para dar tiempo al ordenador del usuario a ir car,ando en memoria la pel*cula$ V@ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
151 Resumiendo: Fotograma 1: 8n el Foto,rama H se calculan los &-tes totales ue ocupa la pel*cula$ 0espus pasamos al Foto,rama :$ Fotograma 2: 7ada #e' ue accedamos al Foto,rama :) nuestro cdi,o ActionScript a#eri,ua los &-tes ue lle#amos car,ados en memoria - los compara con los totales (ue se hallaron en el Foto,rama H - no #uel#en a a#eri,uarse) pues no #ar*an)$ Si -a est1 toda la pel*cula car,ada) #amos al %oto,rama ; - comen'amos a reproducir la pel*cula) sino) pasamos al %oto,rama 2 Fotograma 3: 8l Foto,rama 2 #ol#er1 a mandar la ca&e'a lectora al %oto,rama :$ Haciendo este ciclo) damos tiempo al ordenador a ir car,ando poco a poco la pel*cula) hasta ue lle,ue un momento ue est toda car,ada - pasemos al Foto,rama ;$ 8l c1lculo del porcenta!e es un BadornoB ue nos permitimos) pues con un poco m1s de es%uer'o a#eri,uamos cu1nta pel*cula lle#amos car,ada - la mostramos por pantalla de un modo ele,ante (en porcenta!e) haciendo la espera del usuario menos a&urrida$ Fotograma 4: Au* comien'a la pel*cula$$$ (Ea no se #ol#er1 nunca a nin,uno de los %oto,ramas anteriores)$ A la derecha mostramos el resultado$ La pel*cula se comen'ar1 a car,ar al pulsar el &otn$ EI cdigo insertado es EXACTAMENTE eI que se muestra arriba, no hay NADA MS$ 6an slo se han a.adido unos te"tos - unas im1,enes para aumentar el tama.o de la pel*cula) de lo contrario la car,a ser*a demasiado r1pida - no lle,ar*a a #erse$ 6am&in se ha insertado el te"to din1mico ue muestra el porcenta!e$ Si el car,ador no lle,a a #erse) lo m1s pro&a&le sea ue -a est car,ada en la memoria cach de #uestro 152 ordenador o ue esteis #iendo este curso desde el 70DKom o desde #uestro propio 0isco 0uro) donde la #elocidad de descar,a estan r1pida ue ser*a necesaria una pel*cula de #arios MJ-tes para ue hiciera %alta un car,ador$ 4ro&ad el cdi,o en una pel*cula ue coloueis en un ser#idor (e& - podreis #er los resultados sin pro&lemas$ 4odeis poner a prue&a #uestros conocimientos reali'ando la5 4rue&a e#aluati#a del 6ema H8 $ Unidad 19. Flash$ =a#e,acin (I)$ J>sueda 8n este tema #eremos los puntos m1s importantes en los ue te podr1s apo-ar para reali'ar tus animaciones en Flash usando ActionScript$ 8sta unidad) la de =a#e,acin) est1 especialmente orientada a Ia web) pues #eremos cmo crear elementos ue te a-udar1n m1s tarde a crear tus propias presentaciones) secciones) etc$ 6odo ello apo-ado con animaciones - #inculadas entre s*$ A lo lar,o del tema utili'aremos este e!emplo para ilustrar la teor*a de %orma ,uiada$ 153 Los Jotones Fno de los elementos ue m1s nos #an a a-udar a la hora de a.adir interacti#idad en el dise.o son los &otones$ 8n el e!emplo nos hemos a-udado de los &otones para crear la na#e,acin entre las di%erentes secciones$ As* ue el primer paso) despus de ha&er creado la inter%a' de la pel*cula en una capa) ser1 crear e insertar los &otones en una nue#a capa para tra&a!ar con ma-or %acilidad$ Para asignarIe una accin a un botn es necesario darIe un nombre de instancia$ 4ara ello (- como hemos #isto en unidades anteriores) escri&imos el nom&re ue ueramos (al cual nos re%eriremos m1s tarde para llamar al &otn) en el Inspector de Propiedades) en este caso lo hemos llamado e:(i#o$
154
Lue,o) con el &otn seleccionado) a&rimos el PaneI Acciones - a.adiremos el cdi,o ue de&er1 reali'ar el &otn$ `sta es la parte m1s importante pues de&eremos decidir a qu estmuIo (o evento) responder eI botn$ 8"isten #arios e#entos ue son capturados en Flash) nom&raremos los m1s importantes5 press5 e!ecuta la accin al presionarse el &otn$ reIease5 e!ecuta la accin al soltarse el &otn (despus de ha&erlo presionado)$ roIIOver5 e!ecuta la accin al despla'ar el ratn dentro del &otn$ roIIOut5 e!ecuta la accin al despla'ar el ratn %uera del &otn$
4or ello) escri&iremos en el panel acciones el si,uiente cdi,o para nuestros &otones5 on (release) { }
=ota5 ActionScript diferencia entre mayscuIas y minscuIas) por lo ue si escri&es) por e!emplo) Kelease no ser1 reconocido$
8ntre las lla#es ]^ introduciremos el cdi,o ue ueremos ue se e!ecute al producirse el e#ento seleccionado so&re el &otn$
155 8"isten m1s mane!adores de e#entos ue puedes re#isar en este tema a#an'ado$ Unidad 19. Flash$ =a#e,acin (II)$ 7ontroladores de la l*nea de tiempo
Fna #e' insertados los &otones - de%inidos los e#entos so&re los ue de&en actuar) tendremos ue decidir u ueremos ue ha,an$ 0e esta %orma podremos crear dinamismo entre nuestras secciones$ Ima,ina ue tenemos la si,uiente l*nea de tiempo5
C&ser#a la capa Contenido$ 8n ella se encuentran todo el contenido de las secciones$ 0e esta %orma) si no aplic1semos nin,una accin so&re la l*nea de tiempo) todas las secciones se ejecutaran una seguida de Ia otra$ Lo ue ueremos conse,uir es ue se e!ecute la primera (para mostrar la seccin principal) - el ca&e'al se pare hasta nue#a orden (para mostrar la se,unda)$ 4ara ello utili'aremos la %uncin stop()$ 8sta %uncin sir#e para parar eI cabezaI de Ia Inea de tiempo donde sea colocada$ As* ue seleccionamos el >ltimo %oto,rama de la seccin - a&rimos el PaneI Acciones$ All* de&eremos escri&ir >nicamente la l*nea5 stop(); 8sto har1 ue cuando la animacin lle,ue a ese punto se detendr1 a espera de nue#a orden$ 156 =osotros hemos colocado las acciones en una capa aparte llamada Acciones para as* poder acceder m1s r1pido a ella$ 8l mtodo es el mismo) solamente ha&r1 ue crear fotogramas cIaves en auellos sitios en los ue ueramos insertar un stop()$
Ea hemos conse,uido detener la presentacin$ 4ero) cmo hacemos ue se muestre la se,unda? Mu- sencillo$ Los &otones nos a-udar1n a despla'ar el ca&e'al por la l*nea de tiempo$ As* ue modi%icaremos el cdi,o de uno de los &otones donde ha&*amos escrito5 on (release) { } 4ara ue se pueda leer lo si,uiente5 on (release) { gotoAndPlay(21); } 0e esta %orma) al hacer clic so&re ese &otn) eI cabezaI de reproduccin se despIazar hasta el %oto,rama :H - reproducir1 a partir de all*$ Si a.adimos un stop() en el >ltimo %oto,rama de la se,unda seccin) cuando ste se reprodu'ca se parar1 - el contenido permanecer1 est1tico en espera de una nue#a orden$
8"iste otra %orma) mu- >til) para nom&rar los %oto,ramas$ 0el mismo modo ue d1&amos un nom&re de instancia a un &otn lo haremos con un %oto,rama$ Jasta con introducir una Etiqueta de fotograma para poder remitir el ca&e'al a ste5
157
4or e!emplo5 on (release) { gotoAndPlay(en!"entranos); } Adem1s de estos controladores podemos utili'ar tam&in5 gotoAndStop(fotograma)) ue situar1 el ca&e'al en el %oto,rama indicado - parar1 la reproduccin$ pIay()) ue har1 ue la reproduccin prosi,a en el %oto,rama en el ue se encuentre el ca&e'al$ prevFrame()) ue har1 ue el ca&e'al retroceda al %oto,rama anterior al ue nos encontramos$ nextFrame()) ue har1 ue el ca&e'al a#ance al %oto,rama si,uiente al ue nos encontramos$ 8s posi&le el uso del PaneI Comportamiento para crear saltos a %oto,ramas de %orma sencilla - sin tener ue escri&ir nin,una l*nea de cdi,o) para #er cmo se hace #isita este tema &1sico$
8"isten los controladores prevScene() - nextScene() ue hacen a#an'ar el ca&e'al a escenas anteriores o si,uientes$ As* ue #eremos u son las escenas para poder utili'arlos tam&in Unidad 19. Flash$ =a#e,acin (III)$ Las 8scenas
Flash permite el uso de escenas para separar di%erentes temas en una sola pel*cula$ Se suelen utili'ar so&re todo en animaciones) donde una parte de la accin transcurre so&re un %ondo - la si,uiente so&re otro completamente di%erente$ 158 0e este modo podemos usar las escenas para representar di%erentes secciones mu- di%erentes en nuestra pel*cula) por e!emplo) crear una escena para el car,ador) otra para la pel*cula principal - una tercera para una seccin ue se di%erencie completamente del resto - nos sea m1s cmodo tra&a!ar con ella independientemente$ A pesar del hecho de ue las escenas se tra&a!an como l*neas de tiempo di%erentes) aI crear eI archivo SWF stas se aIinean en orden reproducindose una detrs de otra$ 4or ello) al pu&licar el documento los %oto,ramas de las escenas se numerar1n respecto a esto$ 8s decir) si tenemos una primera escena ue #a del %oto,rama H al O3) la se,unda escena comen'ar1 en el %oto,rama OH$ 6odo esto hace ue las escenas) en al,unos casos estn desaconse!adas por las si,uientes ra'ones5 8l uso de escenas o&li,a al usuario a descar,ar el documento en su totalidad) a pesar de ue es posi&le ue no na#e,ue por todas las secciones$ 8"iste la posi&ilidad) como #eremos m1s adelante) de car,ar en cualuier momento archi#os S?F para reproducirlos en la pantalla principal$ 0e esta %orma emular*amos el uso de las escenas car,ando di%erentes documentos dependiendo de la seccin a mostrar$ 7uando a.adimos ActionScript a nuestras escenas el resultado puede ser) a #eces) impre#isi&le$ 7omo hemos e"plicado anteriormente) al crearse un archi#o con una l*nea de tiempo continua las acciones a reali'ar pueden ser inesperadas$ 8n el PaneI Escena (1&relo desde Ventana Q Otros paneIes Q Escena) podr1s #er las escenas actuales de la pel*cula$
8n principio solamente encontrar1s una (8scena H)) es posi&le a.adir m1s escenas pulsando el &otn Aadir escena $ 4ara cam&iar el nom&re de una escena ha' do&le clic so&re su nom&re en el panel - escri&e el ue uieras$ 4uedes eliminar una escena utili'ando el &otn EIiminar escena o duplicarla con el &otn DupIicar escena $ 159
7omo hemos comentado antes (- si no e"iste cdi,o ActionScript ue modi%iue esto) las escenas se reproducen una despus de la otra en el orden en el ue se encuentran en el PaneI Escena$ 4uedes cam&iar este orden con solo arrastrar - colocar la escena en cuestin en su lu,ar correspondiente$ 6ra&a!ar con una escena es mu- sencillo) &asta con seleccionarla en el panel - su contenido se mostrar1 en el Escenario$ 4odr1s tra&a!ar con ella como si se tratase de una pel*cula independiente$ 4ero #eamos cmo podemos utili'ar ActionScript para despla'arnos de escena a escena$ Antes hemos mencionado las %unciones prevScene() - nextScene()$ 8stos comandos hacen ue el ca&e'al de reproduccin se desplace de una escena a otra en el orden en el ue se encuentran en el PaneI Escena$ 4ero e"iste otra posi&ilidad$ Se,>n el e!emplo ue estamos si,uiendo creamos una nue#a escena llamada escena+otros$ 8n el &otn Otros Restaurantes hemos a.adido el si,uiente cdi,o5 on (release) { gotoAndPlay(es!ena_otros# 1); } 7on esto estamos indicando ue al soltarse el &otn el ca&e'al se desplace al %oto,rama H de la escena escena+otros - empiece a reproducirse a partir de all*$ Sencillo) #erdad? Unidad 19. Flash$ =a#e,acin (I/)$ Los Mo#ie7lips
8n el tema de CIips de PeIcuIa #imos ue se tratan de o&!etos con l*nea de tiempo propia$ 4odemos utili'arlos para incluir elementos en nuestra pel*cula con una animacin independiente$ 0e este modo aunue la pel*cula principal est detenida el clip se,uir1 actuando se,>n su propio ca&e'al de reproduccin$ 160 8"isten mtodos para mane!ar la l*nea de tiempo de los clips) idnticas a las anteriores) - ue #eremos a continuacin$ Lo primero ue de&eremos aprender es a acceder a las propiedades - mtodos de los o&!etos$ 8sto es un recurso mu- utili'ado pero a la #e' es mu- sencillo$ Lo #eremos con un e!emplo$ Queremos ue al pulsar un &otn el mo#ieclip a#ance en su l*nea de tiempo hasta su %oto,rama :3$ 8l cdi,o ue de&eremos escri&ir en el &otn ser1 el si,uiente5 on (release) { $i%lip.gotoAndPlay(20); } F*!ate en cmo hemos escrito la %uncin$ 4rimero hemos se.alado el clip so&re el ue ueremos actuar escri&iendo su nom&re de instancia5
E despus de a.adir un punto hemos indicado la %uncin ue se e!ecutar1$ 0e esta %orma (- como hemos #isto en temas anteriores) podemos acceder a todas las propiedades del clip$ 8scri&iendo esta l*nea haremos ue el clip se ha,a in#isi&le5 on (release) { $i%lip._&isi'le = (alse; } 4ara hacerlo un poco m1s complicado podr*amos encontrarnos en el si,uiente supuesto$ Ima,ina ue tenemos un mo#ieclip llamado cli#Padre$ 0entro de este clip de pel*cula tendremos m1s s*m&olos - uno de ellos puede ser otro mo#ieclip llamado cli#;i7o$ 7mo accedemos a las propiedades - %unciones de cli#;i7o? Mu- %1cil$ Suponiendo ue estamos tra&a!ando desde la pel*cula principal donde tenemos insertado el cli#Padre) escri&iremos lo si,uiente5 161 !lipPadre.!lip)i*o.play(); As* haremos ue la reproduccin de cli#;i7o se reaunde$ 4ero) u pasa si ueremos e!ecutar la orden desde dentro de cli#Padre? Ima,ina ue dentro del mo#ieclip ha- un &otn - el clip cli#;i7o$ Queremos ue al pulsar el &otn se reprodu'ca el %oto,rama :3 de cli#;i7o) entonces de&er*amos escri&ir lo si,uiente en las acciones del &otn5 on (release) { !lip)i*o.gotoAndPlay(20); } 7omo puedes #er esta #e' no hemos mencionado a cli#Padre en la l*nea de cdi,o$ =o es necesario porue -a nos encontramos dentro de l$ 6am&in podemos re%erenciarnos a elementos superiores utili'ando la pala&ra reser#ada _parent$ 0e este modo si nos encontr1semos dentro de cli#;i7o - uisisemos a#an'ar al %oto,rama :3 de cli#Padre de&er*amos escri&ir5 this._parent.gotoAndPlay(20); 0onde this indica el clip donde nos encontramos - _parent hace ue nos colouemos en el niveI inmediatamente superior$ 0e esta %orma) slo de&eremos escri&ir la ruta de contenedores o padres hasta lle,ar al o&!eto del cual ueremos modi%icar o e!ecutar un mtodo$
4or lo dem1s) el %uncionamiento de un clip no se di%erencia en nada a la l*nea de tiempos de cualuier otra pel*cula$ 4odemos etiquetar Ios fotogramas de i,ual modo para llamarlos directamente por su nom&re5 $i%lip.gotoAnd+top(eti,"eta); E saltar de %oto,rama a %oto,rama para mane!ar las animaciones de la %orma en ue nosotros ueramos$
I,ual ue #imos antes con los &otones) los mo#ieclips tienen mane!adores ue nos permitir1n e!ecutar cdi,o dependiendo de los e#entos ue se produ'can so&re ellos$ 162 Los ue m1s utili'aremos ser1n5 mouseMove5 se e!ecuta cuando el ratn se mue#e so&re el %oto,rama$ 4uedes utili'ar las propiedades _xmouse e _ymouse para a#eri,uar la posicin del ratn en ese momento$ mouseDown5 se e!ecuta cuando se presiona el &otn del ratn$ mouseUp5 se e!ecuta cuando se suelta el &otn del ratn$ keyDown5 se e!ecuta cuando se presiona una tecla$ keyUp5 se e!ecuta cuando se suelta una tecla$ 8stos mane!adores de e#entos se de&en de utili'ar con el controlador onCIipEvent$ /eamos un e!emplo5 on%lip-&ent ($o"se.p) { this._&isi'le = tr"e; } 8ste &loue de cdi,o de&e situarse en las acciones del mo#ieclip (i,ual ue hacemos con los &otones)$ 8s por ello ue al re%erirnos a la propiedad _visibIe escri&imos antes this para re%erenciar el clip en cuestion$ this siempre har1 re%erencia al objeto donde se encuentre Ia variabIe$ =ota5 8stos mane!adores son tan #1lidos para mo#ieclips como para la pel*cula ,eneral en s*) pues podr*amos considerar ue una pel*cula es un mo#ieclip m1s ,rande$
6am&in e"isten modos de capturar estos e#entos sin tener ue escri&ir el cdi,o dentro del mo#ieclip$ Ser*a de la si,uiente %orma5 $i%lip.onPress = ("n!tion() { $i%lip.play(); } 8stos e#entos tienen ue asociarse con una %uncin (#eremos este concepto en el punto si,uiente)$ 4ero de esta %orma podemos escri&ir el cdi,o directamente so&re el %oto,rama - controlar cuando se e!ecuta una accin so&re el mo#ieclip$ 8n el e!emplo) el clip comen'ar1 a reproducirse en cuanto se ha,a clic so&re l$ 163 /eamos el con!unto de e#entos m1s importantes para los mo#ieclips5 onPress = function() {}5 se e!ecuta cuando se presiona el &otn del ratn so&re el mo#ieclip$ onReIease = function() {}5 se e!ecuta cuando se suelta el &otn del ratn so&re el mo#ieclip$ onRoIIOver = function() {}5 se e!ecuta cuando se despla'a el ratn dentro del mo#ieclip$ onRoIIOut = function() {}5 se e!ecuta cuando se despla'a el ratn %uera del mo#ieclip$ onKeyDown = function() {}5 se e!ecuta cuando se presiona una tecla con el clip de pel*cula resaltado$ onKeyUp = function() {}5 se e!ecuta cuando se suelta una tecla con el clip de pel*cula resaltado$ C&#iamente) e"isten muchos m1s e#entos ue podr1s aprender en este tema a#an'ado$
/eamos el e!emplo5 Si o&ser#as tenemos dos mo#ieclips en la pel*cula) uno de ellos llamado estrella) - el otro detalle$ La l*nea de tiempo de estos mo#ieclips tendr*a este aspecto5 164 7omo puedes #er tenemos una cuarta capa ue se llama acciones$ All* colocaremos las acciones ue se asociar1n a este %oto,rama5 estrella.onPress = ("n!tion() { estrella.gotoAndPlay(desapare!e); detalle.gotoAndPlay(apare!e); } 8ste cdi,o har1 ue cuando se presione el clip estrella se desplacen los ca&e'ales en los clips detalle - estrella a las etiuetas de %oto,ramas ue se indican$ 4ara hacer desaparecer el clip detalle incluiremos el si,uiente %ra,mento de cdi,o5 detalle.onPress = ("n!tion() { estrella.gotoAndPlay(apare!e); detalle.gotoAndPlay(desapare!e); } 8sto har1 al,o parecido a lo anterior) cuando se presione el clip detalle los ca&e'ales de am&as pel*culas se despla'ar1n a las respecti#as etiuetas de %oto,rama$ Unidad 19. Flash$ =a#e,acin (/)$ Las /aria&les
Las #aria&les son contenedores donde podremos almacenar in%ormacin para tra&a!ar con ella$ 8sta in%ormacin puede ser modi%icada - le*da$ Aunue parece un concepto mu- comple!o su uso es &astante sencillo$ 8n ActionScript e"isten 8 tipos di%erentes de #aria&les) los ue m1s utili'aremos ser1n los si,uientes5 BooIean5 o &ooleano) puede almacenar slo dos #alores) o true (#erdadero) o faIse (%also)$ 165 Number5 puede almacenar n>meros enteros o decimales) positi#os o ne,ati#os$ 8l si,no decimal en ActionScript es el punto (.)$ 4odr1s reali'ar operaciones matem1ticas con estas #aria&les$ String5 puede almacenar cadenas de caracteres) es decir) un con!unto de caracteres al%anumricos$ Las #aria&les de tipo String de&en ir entre comillas do&les (")$
4ara declarar (crear) una #aria&le slo tendr1s ue escri&ir la si,uiente l*nea5 var nombreVariable:tipoVariable = valorVariable; /eamos el e!emplo para #erlo m1s claro$ Haremos ue el clic so&re el mo#ieclip estrella slo se e!ecute si el detalle no est1 a>n mostrado$ E al re#s$ Que slo se e!ecute el cdi,o al hacer clic en el detalle si ste se encuentra %uera$ &ar estrella_a!ti&ada/0oolean = tr"e; estrella.onPress = ("n!tion() { i( (estrella_a!ti&ada == tr"e) { estrella.gotoAndPlay(desapare!e); detalle.gotoAndPlay(apare!e); estrella_a!ti&ada = (alse; } } detalle.onPress = ("n!tion() { i( (estrella_a!ti&ada == (alse) { estrella.gotoAndPlay(apare!e); detalle.gotoAndPlay(desapare!e); estrella_a!ti&ada = tr"e; } } 166 F*!ate en las dos primeras l*neas) se declaran dos #aria&les &ooleanas$ Fna dice ue la estrella se encuentra acti#ada - la otra ue el detalle se encuentra desacti#ado$ Al hacer clic en el mo#ieclip estrella se e#al>a la #aria&le estrella+acti<ada si sta es #erdadera (true) entonces permite ue se realicen las acciones$ 8n caso contrario) sale de la condicin$ Al entrar en la condicin se despla'an los ca&e'ales - se modi%ica el #alor de la #aria&le a %also para ue la pr"ima #e' ue intente entrar no puedan e!ecutarse las acciones$ 8n el onPress del clip detalle se e#al>a de nue#o la #aria&le$ 8sta #e' de&er*a estar en %alse porue si el detalle est1 %uera es porue -a se ha hecho clic so&re la estrella - ha pasado por el anterior &loue$
A medida ue #a-amos a#an'ando iremos usando otras #aria&les de di%erentes tipos$ /er1s ue su uso no di%iere mucho al ue hemos e"plicado ahora$ Antes de terminar con este tema de&er*amos #er al,o mu- importante5 eI mbito de Ias variabIes$ 8sto es) el sitio donde puedan utili'arse las #aria&les$ =ota5 4ara e"plicar el 1m&ito de las #aria&les utili'aremos la %uncin trace(variabIe) ue en#*a el contenido de la #aria&le al PaneI SaIida$ 4uedes a&rir este panel desde Ventana Q SaIida$
8"iten 2 1m&itos de #aria&les5 el IocaI) el gIobaI - el de Inea de tiempo$
Las #aria&les decIaradas en Ia Inea de tiempo pueden utili'arse en cualuier %oto,rama posterior - su contenido se mantendr1 intacto$ 4or e!emplo) declaramos la si,uiente #aria&le en el %oto,rama H5 &ar $i1aria'le/+tring = -sta es $i &aria'le; E en el %oto,rama HO colocamos las si,uientes l*neas en el PaneI Acciones5 tra!e($i1aria'le); 167 stop(); /er1s como al pro&ar la pel*cula en el PaneI de SaIida aparece escrito el contenido de la #aria&le$ 6en en cuenta ue si declaras la #aria&le en el %oto,rama : no estar1 disponi&le en %oto,ramas anteriores) es decir en el H$
Las #aria&les declaradas en un mbito IocaI sir#en slo para un &loue de %uncin$ /eamos este e!emplo5 ("n!tion $i2"n!ion() { &ar $i1aria'le/3"$'er = 1; tra!e($i1aria'le); $i1aria'le = 2; tra!e($i1aria'le); } $i2"n!ion(); tra!e($i1aria'le); 8n el primer &loue de%inimos una %uncin (ha&laremos de ellas m1s a %ondo en el si,uiente apartado)$ 8n esta %uncin se declara una #aria&le - se en#*a su contenido al PaneI SaIida$ Lue,o modi%icamos el contenido de la #aria&le - #ol#emos a en#iar el contenido a SaIida$ C&ser#a ue despus llamamos a la %uncin) esto har1 ue se e!ecute su cdi,o) por lo ue en el PaneI SaIida se mostrar1 1 - 1$ Lue,o intentamos en#iar el contenido de la #aria&le a SaIida - el resultado ue o&tenemos es (nde2ined$ 8sto es porue la #aria&le no est1 de%inida) pues solamente la ha&*amos declarado para el &loue de la %uncin$ 168 Ftili'ando las #aria&les de esta %orma slo podremos acceder a ellas desde el &loue de %uncin donde est1n declaradas$ Fna #e' %uera de ste las #aria&les de!an de e"istir$
Las #aria&les de mbito gIobaI son mucho m1s %le"i&les) est1n disponi&les en cualuier %oto,rama - %uncin$ Su modo de declaracin es la si,uiente5 _global.miVariable = "Esta es una variable global"; 4odr1s acceder a ella en cualuier momento$ Las variabIes gIobaIes no tienen tipo, y pueden tomar cuaIquier vaIor$ =ota5 Si en al,>n sitio declaras una #aria&le local con el mismo nom&re ue una #aria&le ,lo&al e"istente no podr1s utili'ar la ,lo&al durante todo el 1m&ito en el ue e"ista la local$
7omentaremos tam&in la e"istencia de las #aria&les de tipo matriz (o arra-)$ `stas pueden almacenar di%erentes #aria&les en un solo o&!eto$ /eamos un e!emplo para #erlo m1s claro5 var miMatriz:Array = new Array(); $i4atri5607 = 8"nes; $i4atri5617 = 4artes; $i4atri5627 = 4i9r!oles; $i4atri5637 = :"e&es; $i4atri56;7 = 1iernes; $i4atri5657 = +<'ado; $i4atri56=7 = >o$ingo; As* si escri&imos5 ?ra!e($i4atri5657); 169 Se mandar1 al PaneI SaIida el elemento O del arra- )iMatriz en este caso S9,ado$ Los arrays empiezan por 0) as* ue es con#eniente ue te acostum&res a rellenar la matri' a partir de este elemento$ /er1s ue con el tiempo te a-udar1 a reali'ar al,unas %unciones$ Ctras %ormas de declarar arra-s son las si,uientes5 &ar $atri52/Array = new Array(8"nes#4artes#4i9r!oles#:"e&es#1iernes#+<'ad o#>o$ingo); o &ar $atri53/Array= 68"nes#4artes#4i9r!oles#:"e&es#1iernes#+<'ado#> o$ingo7; 4uedes #er un e!emplo pr1ctico de los arra-s en este apartado &1sico$
Las Funciones
7omo ha&r1s #isto en los e!emplos anteriores) una funcin es un bIoque de cdigo que podemos utiIizar en cuaIquier parte deI archivo S?F con slo llamarla5 ("n!tion $i2"n!ion() { &ar $i1aria'le/3"$'er = 1; tra!e($i1aria'le); } 8n este e!emplo hemos creado una %uncin ue en#*a el contenido de la #aria&le )iVaria,le al PaneI SaIida$ 4odemos escri&ir la si,uiente l*nea en cualuier momento despu de ha&er pasado la %uncin - esta se e!ecutar15 $i2"n!ion();
170 7omo #es) crear %unciones es &astante sencillo$ Adem1s podemos crear %unciones un poco m1s comple!as en#i1ndole par1metros5 ("n!tion en&ia+alida($i1aria'le/+tring) { tra!e($i1aria'le); } Si en cualuier momento escri&imos5 en&ia+alida()ola@); Se mostrar1 el mensa!e en el PaneI SaIida$ 8l modo de crear %unciones con par1metros es &astante intuiti#o$ Al crear la %uncin de&er1s indicar ue tipo de #aria&le le #as a en#iar$ 8n nuestro e!emplo hemos de%inido el par1metro como de tipo String$ 0e este modo podr1s utili'ar la #aria&le )iVaria,le dentro de la %uncin - tra&a!ar con ella como uieras$ 4ara llamar a la %uncin slo de&er1s escri&ir su nom&re - indicarle el par1metro ue le uieres en#iar$ 4uedes crear %unciones con m1s de un par1metro) para ello slo tendr1s ue separar stos por comas5 ("n!tion $i2"n!ion(para$etro1/+tring# para$etro2/3"$'er# para$etro3/0oolean) { // cdigo } $i2"n!ion(hola# 2# (alse); Unidad 19. Flash$ =a#e,acin (/I)$ 7ar,ando Archi#os
Fna #e' #istos todos estos conceptos pasaremos a #er una %uncin en concreto) la %uncin LoadMovie$ 8sta %uncin te permite modificar eI contenido de un cIip de peIcuIa y cargar en I otro archivo SWF o incIuso una imagen con formato JPG, GIF o PNG$ 171 Su uso es el si,uiente5 $i4o&ie%lip.load4o&ie(pelisA!lip.sw(); 7on esto lo ue hemos hecho es cam&iar el contenido del clip )iMo<ie=li# - lo hemos sustituido por el archi#o cli#'s&2 ue se encontra&a en la carpeta #elis$ 8s sencillo) #erdad?
6am&in puedes utili'arla de esta %orma5 load4o&ie(ar!hi&o.sw(# $i4o&ie%lip); 8s una #ariacin de la anterior) au* indicamos u archi#o ueremos car,ar - dnde$ Si en #e' de car,arlo en )iMo<ie=li# lo car,asemos en this se car,ar*a en el clip en el ue est1 contenida la %uncin$ Incluso si ste es el clip de pel*cula principal$
/amos al e!emplo$ 8n la seccin Encuntranos hacemos clic en un &otn de tipo te"to - nos aparece el mapa donde locali'ar el restaurante5 8l cdi,o ue hemos insertado en el &otn es sencillo5 on (release) { load4o&ie($apa.sw(# this); } Los par1metros ue le hemos pasado son el nom&re de la pel*cula a car,ar - su destino (this) el propio clip donde esta&a el &otn)$ 172 Fna l*nea eui#alente hu&iese sido esta5 this.load4o&ie($apa.sw();
4ara descar,ar archi#os car,ados con la %uncin IoadMovie utili'a unIoadMovie$ 8sto nos ser#ir1 para Iiberar a un moviecIip de Ia peIcuIa o imagen que habamos cargado) de!1ndolo #ac*o$ Su sinta"is es la si,uiente5 $i%lip."nload4o&ie(); o "nload4o&ie($i%lip);
8"iste la posi&ilidad de car,ar archi#os de otra manera) en vez de indicando su destino indicaremos su niveI$ 8sto es) #amos a car,ar #arios archi#os en un mismo sitio - los dispondremos uno encima de otro) de %orma ue los ue se encuentren en capas superiores tapar1n a los de a&a!o$ 4ara ello de&eremos utili'ar la %uncin IoadMovieNum5 load4o&ie3"$(pri$era.sw(# 0); load4o&ie3"$(seg"nda.sw(# 1); load4o&ie3"$(ter!era.sw(# 2); 8n este e!emplo hemos car,ado 2 archi#os S?F en el mismo sitio$ Los tres estar1n disponi&les a la #e') pero la pel*cula tercera$s(% ser1 la ue se encuentre en el niveI superior$ 7omo puedes #er) al no poder indicarse un destino) de&er1s introducir esta %uncin dentro del clip ue uieres modi%icar$ Si %uese escrita en el cdi,o del %oto,rama actuar*a directamente so&re la pel*cula principal$ =ota5 Las pel*culas car,adas en el ni#el 3 ser1n las ue esta&le'can Ia veIocidad y tamao de fotogramas y su coIor de fondo para el resto de los %oto,ramas a.adidos en ni#eles superiores$
173 4odemos re%erirnos a pel*culas car,adas en di%erentes ni#eles - modi%icar sus propiedades utili'ando la sinta"is5 _le&el1._&isi'le = tr"e; 8 incluso llamar a o&!etos contenidos en esas pel*culas a.adiendo) simplemente) el nom&re de instancia de ste5 _le&el1.$i%lip._&isi'le = tr"e; Si,ue el si,uiente e!ercicio paso a paso para #er cmo hacer una 4el*cula con =i#eles
4odemos descar,ar pel*culas car,adas con la %uncin IoadMovieNum utili'ando unIoadMovieNum5 "nload4o&ie3"$(2); 8n esta %uncin slo de&emos indicar el ni#el donde est1 situada la pel*cula ue ueremos descar,ar - cada m1s$ 8l uso de estas %unciones es &astante sencillo - te a-udar1n mucho en la e%iciencia de tus pel*culas$ 6en en cuenta lo ue dec*amos antes de las escenas$ Si creamos una pel*cula con #ar*as escenas se almacenar1n todas en un solo archi#o) - el usuario tendr1 ue descar,arse el archi#o entero para poder #er aunue sea una parte m*nima de la pel*cula$ Ftili'ando estas %unciones podemos optimi'ar el tiempo de descar,a) pues de este modo el usuario slo se descar,ar1 los archi#os ue desee #isuali'ar$ Unidad 19. Flash$ =a#e,acin (/II)$ 7ar,ando In%ormacin 8n este apartado #eremos cmo utili'ar un car,ador para reco,er in%ormacin de un archi#o - mostrarla en una pel*cula Flash$ =os &asaremos en el si,uiente e!emplo5 174 C&ser#a la l*nea de tiempos5 8n la capa de acciones escri&iremos todo el cdi,o para ue %uncione la pel*cula$ La capa diapositi#as contiene el e%ecto ue hace ue la ima,en se des#ane'ca para #ol#er a aparecer$ Ahora e"plicaremos cmo lo hemos hecho$ Antes ue nada a.adimos un stop() en el primer %oto,rama para detener la accin - reanudarla m1s tarde con el &otn al ue le hemos a.adido el si,uiente cdi,o5 on (release) { gotoAndPlay (2); } 4ara ue pase al %oto,rama dos - comience la transicin$ I,ualmente hemos a.adido un stop() en el %oto,rama HH para ue se deten,a la transicin - espere a ue se pulse de nue#o el &otn - #uel#a al %oto,rama :$ La transicin es mu- sencilla$ 8n la capa diapositi#as hemos a.adido un clip de pel*cula llamado contenedor del tama.o de la pel*cula) ue ser1 donde car,uemos las im1,enes con la %uncin IoadMovie) - hemos incluido dos interpolaciones de mo#imiento$ 8n el %oto,rama S &a!aremos la propiedad AIfa al 08 en el PaneI Propiedades$ As* conse,uiremos el e%ecto de la transicin$ Mientras en el %oto,rama S a.adiremos el cdi,o ue har1 ue se car,ue la ima,en en contenedor - se actualicen los campos de te"tos descri#cion+t4t - tit(lo+t4t incluidos en la capa area_texto en un clip llamado te4to>ia#ositi<a$ 175
Ahora ue conocemos el %uncionamiento #eamos el cdi,o ue hemos a.adido en los %oto,ramas H - S$ Foto,rama H5 stop(); &ar ar!hi&o/+tring = diapositi&as.tBt; &ar total/3"$'er = ;; &ar i$agenA!t"al/3"$'er = 1; &ar $atri5C$agenes/Array = 6i$agenesAi$agen1.*pg# i$agenesAi$agen2.*pg# i$agenesAi$agen3.*pg# i$agenesAi$agen;.*pg7; // cargador del archivo .txt &ar !argador/8oad1ars = new 8oad1ars(); !argador.on8oad = ("n!tion(eBito/0oolean) { i( (eBito) { teBto>iapositi&a.des!rip!ion_tBt.teBt = e&al(!argador.des!rip!ion D i$agenA!t"al); AAre!"pera la des!rip!iEn teBto>iapositi&a.tit"lo_tBt.teBt = e&al(!argador.tit"lo D i$agenA!t"al); AAre!"pera el tFt"lo } else { teBto>iapositi&a.des!rip!ion_tBt.teBt = 3o se ha podido !argar el teBto; teBto>iapositi&a.tit"lo_tBt.teBt = -rror; } 176 } !argador.load(ar!hi&o); AA!arga del teBto load4o&ie($atri5C$agenes6i$agenA!t"alG17# !ontenedor); AA!arga de la i$agen 8n las primeras l*neas de%inimos las #aria&les ue #amos a utili'ar$ 8n la #aria&le archivo introducimos la ruta del archi#o de tipo t"t de donde sacaremos el te"to asociado a las im1,enes$ La #aria&le totaI almacena el n>mero total de im1,enes ue #amos a mostrar$ La #aria&le imagenActuaI almacenar1 el n>mero de la ima,en ue #amos a mostrar) la iniciali'amos a 1 para mostrar primero la primera ima,en$ La #aria&le matrizImagenes es una #aria&le de tipo arra- - almacenar1 las rutas de las im1,enes ue #amos a mostrar$
Ahora declararemos el car,ador ue sacar1 la in%ormacin del archi#o t"t - lo pasar1 a las ca!as de te"to$ 4ara ello utili'aremos el o&!eto LoadVars) este o&!eto permite en#iar o reco,er #aria&les en %orma de FKL$ 8"pliuemos esto$ 8l o&!eto LoadVars es capa' de reco,er una cadena de te"to en %orma de FKL como la si,uiente5 &ar1=&alorH&ar2=&alorH&ar3=&alorH&ar;=&alor E sacar de all* las #aria&les - sus #alores$
La %orma en la ue lo hace es sencilla) a cada s*m&olo & ue encuentre entender1 ue lo si,uiente ue encuentre ser1 el nom&re de una #aria&le (i,ualada a su #alor)$ 0e esta %orma escri&iremos en el archi#o de te"to dia#ositi<as't4t lo si,uiente5 tit"lo1=8os $e*ores sandwi!hes Hdes!rip!ion1=-n sa !"ina !rea$os los sandwi!hes $as originales y sa'rosos de toda la !i"dad. Htit"lo2=%alidad +"perior 177 Hdes!rip!ion2=3os !"ida$os sie$pre de ,"e n"estros platos o(re5!an la $aBi$a !alidad. Htit"lo3=Prod"!tos sele!!ionados Hdes!rip!ion3=+ele!!iona$os los prod"!tos "no a "no y de distri'"idores de !on(ian5a. Htit"lo;=3"estras espe!ialidades Hdes!rip!ion;=3o ol&ides pro'ar n"estras espe!ialidades en ensaladas y postres. 0e esta %orma cuando el o&!eto LoadVars car,ue el archi#o #er1 ue ha- 8 #aria&les) - cada una de ellas con su respecti#o #alor$
/eamos) pues) cmo leer - mane!ar estas #aria&les$ 4ara declarar el o&!eto slo hace %alta escri&ir5 &ar !argador/8oad1ars = new 8oad1ars(); Fna #e' declarado el o&!eto podemos tra&a!ar con l$ Lo primero ue haremos ser1 esta&lecer unas cuantas l*neas ue se e!ecutar1n cada #e' ue intentemos car,ar el archi#o$ 4ara ello apro#echamos el mtodo onLoad del o&!eto5 !argador.on8oad = ("n!tion(eBito/0oolean) { i( (eBito) { teBto>iapositi&a.des!rip!ion_tBt.teBt = e&al(!argador.des!rip!ion D i$agenA!t"al); AAre!"pera la des!rip!iEn teBto>iapositi&a.tit"lo_tBt.teBt = e&al(!argador.tit"lo D i$agenA!t"al); AAre!"pera el tFt"lo } else { teBto>iapositi&a.des!rip!ion_tBt.teBt = 3o se ha podido !argar el teBto; teBto>iapositi&a.tit"lo_tBt.teBt = -rror; 178 } } Al in#ocar el mtodo onLoad nos de#ol#er1 un #alor (ue nosotros hemos llamado e4ito)$ 8sta #aria&le de tipo &ooleano puede tomar dos #alores) verdadero o faIso$ 4or tanto) si la car,a se e%ect>a correctamente el #alor de e"ito ser1 true) - %alse si no pudo car,ar el archi#o$ 4or ello el cdi,o ue se e!ecuta al car,ar el archi#o e#al>a si la car,a se reali' con "ito$ i( (eBito) { } else { }
Si se pudo car,ar) recuperamos las #aria&les del archi#o$ 6endremos ue acceder a ellas a tra#s del car,ador$ cargador.tituIo1 nos dar1 el #alor de la #aria&le tit(lo1$ 4ero de&emos de recuperar la #aria&le correspondiente a la ima,en ue se est1 mostrando) cmo lo hacemos? Mu- sencillo) de&eremos construir el nom&re de la #aria&le a recuperar$ 4ara el titulo el nom&re de la #aria&le es tit(lo m1s el n>mero de la ima,en ue se muestra$ 4or lo ue nos uedar*a tit(lo?i)agenAct(al$ 4ero) claro) no podemos escri&ir5 !argador.tit"loDi$agenA!t"al //esto no es correcto 4ara poder hacerlo de&eremos utili'ar la %uncin evaI()) ue construir eI nombre y Iuego Io recuperar5 e&al(!argador.tit"loDi$agenA!t"al) Fna #e' hemos a#eri,uado cmo sacar la #aria&le la ad!udicamos al campo de te"to5 179 teBto>iapositi&a.tit"lo_tBt.teBt = e&al(!argador.tit"lo D i$agenA!t"al); E hacemos lo mismo para la descripcin5 teBto>iapositi&a.des!rip!ion_tBt.teBt = e&al(!argador.des!rip!ion D i$agenA!t"al);
8n principio ha&remos terminado$ Cptimi'aremos el %uncionamiento mostrando mensa!es de error si el archi#o no se pudo car,ar5 teBto>iapositi&a.tit"lo_tBt.teBt = -rror; teBto>iapositi&a.des!rip!ion_tBt.teBt = 3o se ha podido !argar el teBto; 7erramos todas las lla#es - el e#aluador de la car,a onLoad -a estar1 preparado$ Ahora cada #e' ue intentemos car,ar al,>n archi#o con cargador se e!ecutar1 todo este cdi,o) - si la car,a se e%ectu de %orma correcta se asi,nar1n las #aria&les correspondientes a las ca!as de te"to$ 4ara car,ar un archi#o solo tendremos ue escri&ir5 !argador.load(ar!hi&o); E como en la #aria&le archi#o ha&*amos ,uardado la ruta del t"t donde est1n las #aria&les necesarias ha&remos terminado$
7omo puedes #er las >ltimas l*neas ue se e!ecutan son5 !argador.load(ar!hi&o); load4o&ie($atri5C$agenes6i$agenA!t"alG17# !ontenedor); Que car,ar1n por primera #e' la i)agen1 - el te"to correspondiente$ 8n el car,ador de&eremos decir ue car,ue el contenido del arra- )atriz@)agenes de la ima,en correspondiente$ 4ero como las matrices empiezan por 0 la ruta de la primera ima,en estar1 almacenada en )atriz@)agenesA0B$ 8s por esto ue al car,ar la ima,en la ruta ue damos es5 180 $atri5C$agenes6i$agenA!t"alG17
Ahora #eremos ue hemos escrito en el %oto,rama S para ue se car,uen las im1,enes - te"to ue correspondan5 i( (i$agenA!t"al I= total) { i$agenA!t"al = 1; } else { i$agenA!t"alDD; } !argador.load(ar!hi&o); //carga del texto load4o&ie($atri5C$agenes6i$agenA!t"alG17# !ontenedor); //carga de la iagen 8ste cdi,o se e!ecuta en el momento en el ue el contenedor tiene la propiedad AIfa al 08 por lo ue es totalmente in#isi&le$ Apro#echaremos este momento para cam&iar la ima,en - el te"to$
Lo primero ue e#aluamos es si la i)agenAct(al es ma-or o i,ual ue el n>mero total de im1,enes$ Si no lo es aumentamos el #alor de i)agenAct(al en 15 i$agenA!t"alDD; 8n el caso contrario (ue i)agenAct(al %uera ma-or o i,ual al total de im1,enes) si,ni%icar*a ue si aumentamos el #alor de i)agenAct(al en 1 nos pasar*amos - no e"itir*a ni ima,en ni te"to para esa posicin) por lo ue iniciamos de nue#o el contador a 1 para ue #uel#a a empe'ar$ 8sta condicin har1 el e%ecto de ue cuando se #ea la >ltima ima,en - se pulse si,uiente se #isualice de nue#o la primera$ Fna #e' actuali'ada la #aria&le i)agenAct(al pasamos a car,ar la ima,en5 load4o&ie($atri5C$agenes6i$agenA!t"alG17# !ontenedor); E a actuali'ar el te"to utili'ando el car,ador5 !argador.load(ar!hi&o); 181 8!ercicios del 6ema HR 4rue&a e#aluati#a del 6ema HR$ Unidad 20. ActionScript D Formularios (I)$ Los 8lementos de Formulario 8n el uso de %ormularios podremos utili'ar muchos elementos$ 4ero los principales ser1n siempre los mismos5 cajas de texto y botones$ 0e #e' en cuando utili'aremos otros elementos como los radioButtons) checkBoxes) comboBoxes o IistBoxes$ /eremos como utili'arlos - a sacarles el ma-or partido$ Flash o%rece estos o&!etos como componentes$ 4ara acceder a ellos slo tendr1s ue a&rir el PaneI Componentes desde Ventana Q Componentes$ Fna #e' a&ierto el panel ha' clic en User Interface para desple,ar sus elementos - #er1s todos los componentes ue podr1s utili'ar$
Incluso para la introduccin de te"to en %ormularios es aconse!a&le el uso de componentes) pues #eremos ue poseen propiedades ue las simples ca!as de te"to no tienen$ 4ara utili'ar al,uno de estos componentes &asta con arrastrarlo del panel al escenario) o puedes arrastrarlo a la &i&lioteca para utili'arlo m1s tarde$ 8n cualuier caso) cuando ha-as a.adido el componente a tu pel*cula de&er1s darle un nom&re de instancia para poder acceder a l en el cdi,o - con%i,urar sus opciones en el PaneI Parmetros5
182 /eamos cuales son las opciones para los di%erentes componentes5 TextInput (Introduccin de te"to)5 editabIe5 true o faIse$ 4ermite ue el te"to se pueda editar o no$ password5 true o faIse$ Cculta el contenido del te"to mostr1ndose un asterisco por car1cter$ text5 Indica el te"to inicial de la ca!a$ TextArea (Mrea de te"to)5 editabIe5 true o faIse$ 4ermite ue el te"to se pueda editar o no$ htmI5 true o faIse$ 4ermite ue se acepte contenido H6ML dentro de la ca!a de te"to$ 4ropiedad mu- >til para incluir enlaces en el te"to$ text5 Idica el te"to inicial de la ca!a$ wordWrap5 true o faIse$ 4ermite ue se pueda reali'ar un despla'amiento del te"to de arri&a a&a!o$ 8n caso de ue no se permita (%alse) cuando el te"to so&re pase el 1rea del componente aparecer1 una &arra de despla'amiento ue permitir1 mo#er el te"to de i'uierda a derecha$ Button (Jotn)5 icon5 A.ade un icono al &otn$ 4ara insertar un icono de&er1s crear un ,r1%ico o clip de pel*cula - ,uardarlo en la BibIioteca$ Fna #e' all* seleccinalo - ha' clic derecho so&re l - selecciona VincuIacin$ Marca la casilla Exportar para ActionScript en el cuadro de di1lo,o ue aparecer1 - dale un nom&re en Identificador$ 8ste nom&re es el ue de&er1s escri&ir en el campo icon del componente &otn$ =i el &otn ni el s*m&olo se a!ustar1 al tama.o del otro) as* ue de&er1s modi%icar sus tama.os para ue el icono no so&resal,a del &otn$ IabeI5 6e"to ue se leer1 en el &otn$ IabeIPIacement5 Ieft) right) top o bottom$ Indica la posicin de la etiueta de te"to en caso de ue se utilice !unto a un icono$ Kespecti#amente) i'uierda) derecha) arri&a - a&a!o$ seIected5 true o faIse$ Indica si el &otn se encuentra seleccionado$ toggIe5 true o faIse$ 7uando se encuentra a true hace ue el &otn pueda tomar dos posiciones) presionado - no presionado$ 183 RadioButton (Jotn de opcin)5 data5 8speci%ica los datos ue se asociar1n al KadioJutton$ La propiedad data puede ser cualuier tipo de datos$ 4uedes acceder a esta propiedad a tra#s de cdi,o para #er ue contiene$ groupName5 =om&re del ,rupo$ 8n un ,rupo de &otones de opcin slo uno de ello puede estar seleccionado$ 0e%iniremos este ,rupo mediante esta propiedad$ 6odos los &otones ue ten,an el mismo nom&re en groupName pertenecer1n al mismo ,rupo$ IabeI5 6e"to ue se leer1 al lado del &otn$ IabeIPIacement5 Ieft) right) top o bottom$ Indica la posicin de la etiueta de te"to respecto al &otn$ Kespecti#amente) i'uierda) derecha) arri&a - a&a!o$ seIected5 true o faIse$ Indica si el &otn se ha-a seleccionado o no$ 0e nue#o) en un mismo ,rupo slo un &otn de opcin puede estar seleccionado$ CheckBox (7asilla de #eri%icacin)5 IabeI5 6e"to ue se leer1 al lado de la casilla$ IabeIPIacement5 Ieft) right) top o bottom$ Indica la posicin de la etiueta de te"to respecto a la casilla$ Kespecti#amente) i'uierda) derecha) arri&a - a&a!o$ seIected5 true o faIse$ Indica si la casilla de #eri%icacin se ha-a seleccionada$ ComoBox (Lista desple,a&le)5 data5 Matri' donde determinaremos el #alor u de#ol#er1 el componente al seleccionar determinada posicin$ editabIe5 true o faIse$ 4ermite la edicin del campo$ Mediante ActionScript puedes hacer ue se a.adan nue#os elementos a la lista$ IabeIs5 Matri' donde determinaremos el nom&re de los elementos de la lista$ 8stos elementos se corresponder1n uno a uno a los #alores de la matri' introducida en data$ 4ara am&as propiedades se a&rir1 el si,uiente cuadro de di1lo,o5 184 0esde au* podr1s a.adir o uitar elementos utili'ando los &otones - $ C alterar el orden de stos su&indolos o &a!1ndolos en la lista con los &otones - $ rowCount5 =>mero m1"imo de elementos #isi&les en la lista$ Si este n>mero es superado por los elementos se a.adir1 una &arra de despla'amiento$ List (Lista)5 data5 Matri' donde determinaremos el #alor u de#ol#er1 el componente al seleccionar determinada posicin$ IabeIs5 Matri' donde determinaremos el nom&re de los elementos de la lista$ 8stos elementos se corresponder1n uno a uno a los #alores de la matri' introducida en data$ 4ara am&as propiedades se a&rir1 el mismo cuadro de di1lo,o #isto para el ComboBox$ muItipIeSeIection5 true o faIse$ 4ermite la seleccin m>ltiple de elementos manteniendo la tecla CtrI presionada$ 6am&in es posi&le seleccionar un ran,o de elementos seleccionando uno de ellos - pulsando la tecla Shift mientras seleccionamos otro di%erente) todos los elementos intermedios resultar1n tam&in seleccionados$ rowHeight5 =>mero m1"imo de %ilas #isi&les en la lista$ Si este n>mero es superado por los elementos se a.adir1 una &arra de despla'amiento$ NumericStepper (7ontador numrico)5 maximum5 8sta&lece el n>mero m1"imo del contador$ minimum5 8sta&lece el n>mero m*nimo del contador$ stepSize5 8sta&lece el inter#alo en el ue se aumenta o disminu-e el n>mero del campo al pulsar los &otones del componente$ vaIue5 /alor inicial del campo$ 185 =ota5 6odas las propiedades mencionadas para cada uno de los componentes son accesi&les a tra#s de ActionScript escri&iendo el nom&re de instancia del componente se,uido de un punto - el nom&re de la propiedad5 Unidad 20. ActionScript D Formularios (II)$ 8l componente Alert
8l componente AIert es mu- >til pero se utili'a de %orma di%erente al resto de los anteriores$ 8ste elemento nos permitir eI uso de avisos en forma de pop-ups$ 4ara utili'arlo de&er1s seleccionarlo en el PaneI Componentes - arrastrarlo hasta la BibIioteca$ =o lo arrastres so&re el escenario) pues no es necesario$ 7on ue se halle presente en nuestra &i&lioteca podremos reali'ar llamadas al componente$ 4ara ello slo de&eremos escri&ir5 C$port $B.!ontrols.Alert; Alert.show($ensa*e); La primera l*nea la insertamos para poder utili'ar el componente - acceder a l mediante el cdi,o$ Lue,o) en el momento en el ue la e!ecucin lle,ue a la se,unda l*nea saltar1 un popDup con el te"to ue se inclu-a en mensa!e$
Ha- ue tener cuidado con este mtodo) pues mientras en otros len,ua!es de pro,ramacin las alertas detienen la e!ecucin del cdi,o a espera de la aceptacin del mensa!e) ActionScript si,ue e!ecutando el resto de l*neas$ 4odremos aadir detectores para que se evaIen Ias acciones reaIizadas sobre Ia aIerta utili'ando mane!adores de e#entos$ 8n se,uida #eremos cmo$ 6am&in es posi&le con%i,urar la alerta de muchas %ormas$ La sinta"is completa del o&!eto es la si,uiente5 Alert.show($ensa*e# tit"lo# 'otones# padre# $ane*ador# i!ono# 'oton>e(e!to); mensaje5 8l te"to del mensa!e$ tituIo5 6*tulo del a#iso$ 186 botones5 Jotones ue tendr1 el a#iso$ 4uedes poner m1s de dos) en ese caso de&er1s separarlos por el s*m&olo B|B$ Los &otones ue puedes a.adir son5 AIert.OK) AIert.CANCEL) AIert.YES - AIert.NO$ 4odemos a.adir tam&in AIert.NONMODAL para hacer ue el mensa!e de alerta no &louee el resto de la pel*cula) - as*) aunue el mensa!e se muestre) podamos se,uir interactuando con el resto de la #entana$ padre5 0etermina el mo#ieclip so&re el ue se a&rir1 la alerta centr1ndose respecto a l$ 4ara re%erenciar a la pel*cula principal (_root) escri&e nuII o undefined$ manejador5 8l nom&re del mane!ador ue se encar,ar1 de ,estionar el clic so&re la alerta$ icono5 8l nom&re del icono ue ueremos ue apare'ca a la i'uierda del mensa!e$ 4ara incluir un icono de&eremos #incularlo$ 4ara ello ha' clic derecho so&re el ,r1%ico o clip de pel*cula en la BibIioteca - selecciona VincuIacin$ Lue,o marca la casilla Exportar para ActionScript - dale un nom&re de Identificador$ Ser1 a ste al ue de&er1s re%erenciar en el AIert.show()$ botonDefecto5 0etermina el &otn por de%ecto de la alerta$ Ftili'a la misma notacin ue antes5 AIert.OK) AIert.CANCEL) AIert.YES - AIert.NO$ Se acti#ar1 este &otn cuando se pulsa la tecla Intro$ Fn e!emplo de mane!ador - alerta ser*a esta5 i$port $B.!ontrols.Alert; &ar $i4ane*ador/2"n!tion = ("n!tion ($i-&ento/J'*e!t) { i( ($i-&ento.detail == Alert.JK) { A/ acciones } else i( ($i-&ento.detail == Alert.%A3%-8) { // acciones } } Alert.show(4ensa*e de alerta.# ?Ft"lo# Alert.JK L Alert.%A3%-8# n"ll# $i4ane*ador# i!ono# Alert.JK); =ota5 C&ser#a como se han mane!ado las respuestas de la alerta$
7uando utilices este mtodo para escri&ir los mensa!es de alerta de&er1s tener en cuenta ue tienes ue escri&ir todas las propiedades en orden - sin saltarte nin,una$ 187 Aunue puedes no escri&ir al,unas) de&er1s hacerlo de esta %orma5 Alert.show(4ensa*e de alerta.# ?Ft"lo# Alert.JK L Alert.%A3%-8# n"ll# $i4ane*ador# i!ono# Alert.JK); o Alert.show(4ensa*e de alerta.# ?Ft"lo# Alert.JK L Alert.%A3%-8# n"ll# $i4ane*ador# i!ono); o Alert.show(4ensa*e de alerta.# ?Ft"lo# Alert.JK L Alert.%A3%-8# n"ll# $i4ane*ador); o Alert.show(4ensa*e de alerta.# ?Ft"lo# Alert.JK L Alert.%A3%-8# n"ll); o Alert.show(4ensa*e de alerta.# ?Ft"lo# Alert.JK L Alert.%A3%-8); o Alert.show(4ensa*e de alerta.# ?Ft"lo); Jotones de Formulario
8n los %ormularios) normalmente) incluiremos dos &otones5 Enviar - Limpiar$ Ima,ina ue llamamos al componente &otn de limpiar reset+,tn) su cdi,o asociado ser*a sencillo5 &ar es!"!hador8i$piar/J'*e!t = new J'*e!t(); es!"!hador8i$piar.!li!M = ("n!tion(e&t/J'*e!t) { !a$po1_tBt.teBt = ; !a$po2_tBt.teBt = ; !a$po3_tBt.teBt = ; } reset_'tn.add-&ent8istener(!li!M# es!"!hador8i$piar); 188
7omo puedes #er) hemos creado un escuchador para reset+,tn$ 7uando se acti#a simplemente #aciamos el contenido de los campos de te"to ue ueramos$ 6am&in podr*amos iniciar los campos de otra %orma5 no$'re_tBt.teBt = -s!ri'e a,"F t" no$'re; e$ail_tBt.teBt = -s!ri'e a,"F t" eG$ail; $ensa*e_tBt.teBt = -s!ri'e a,"F t" $ensa*e;
8n de%initi#a) puedes tratar los campos como uieras$ 4ara el &otn de en#*o de&er1s asociar un escuchador del mismo modo) pero el cdi,o ue ir1 incluido en l de&er1 en#iar los datos) ue ser1 lo ue #eamos en el si,uiente apartado$ Unidad 20. ActionScript D Formularios (III)$ 8n#*o de %ormularios
A partir de ahora #eremos cmo a%rontar el en#*o - la recepcin de datos con %ormularios$ Lo haremos a tra#s de este e!emplo) donde encontraremos elementos de entrada (en los ue tendremos ue escri&ir datos para en#iarlos) - de salida (donde tendremos ue reco,er datos de un archi#o e"terno para mostrarlo)$ 8l en#*o de datos de %ormulario lo reali'aremos utili'ando el o&!eto LoadVars ue -a hemos #isto$ 4ero en este caso) en #e' de reca&ar in%ormacin) lo usaremos para en#iarla$ Su uso es el si,uiente5 &ar es!"!hador-n&ia/J'*e!t = new J'*e!t(); es!"!hador-n&ia.!li!M = ("n!tion(e&t/J'*e!t) { &ar en&io/8oad1ars = new 8oad1ars(); // rellenaos las variables 189 en&io.a"tor = no$'re_tBt.teBt; en&io.e$ail = $ail_tBt.teBt; en&io.$ensa*e = $ensa*e_tBt.teBt; en&io.on8oad = ("n!tion(eBito/0oolean) { i( (eBito) { no$'re_tBt.teBt = ; $ail_tBt.teBt = ; $ensa*e_tBt.teBt = ; } else { Alert.show()a ha'ido "n error en el en&Fo); } } // enviaos las variables al archivo !"! en&io.sendAnd8oad(en&iar_!o$entario.php# en&io# PJ+?); } s"'$it_'tn.add-&ent8istener(!li!M# es!"!hador-n&ia); Hemos de%inido un escuchador ue se e!ecutar1 cuando se pulse el &otn de en#iar$
0entro del cdi,o de ste hemos declarado un o&!eto LoadVars llamado en<io$ Almacenar las #aria&les en el o&!eto es tan %1cil como escri&ir lo si,uiente5 en&io.a"tor = no$'re_tBt.teBt; en&io.e$ail = $ail_tBt.teBt; en&io.$ensa*e = $ensa*e_tBt.teBt; 190
E slo uedar*a en#iarlo con el mtodo send$ en&io.send(en&iar_!o$entario.php# _'lanM# PJ+?); 8sta %uncin en#*a las #aria&les almacenadas en LoadVars utili'ando el mtodo especi%icado en el tercer par1metro (puede ser POST o GET)$ Si uieres ue el script ue se e!ecuta se a&ra en una #entana de&er1s indicarlo en el se,undo par1metro$ 8stas dos >ltimas %unciones son opcionales - podr*amos escri&ir solamente5 en&io.send(en&iar_!o$entario.php);
8n el e!emplo no hemos utili'ado el mtodo send) sino el mtodo sendAndLoad$ en&io.sendAnd8oad(en&iar_!o$entario.php# en&io# PJ+?); 0e este modo podemos a.adir un controlador onLoad para e#aluar si el en#*o se reali' correctamente$ 8n el se,undo par1metro de&eremos indicar cu1l ser1 el o&!eto ue se car,ar1 (en nuestro caso el mismo o&!eto en<io)$ 4or lo ue adem1s de reali'ar el en#*o hemos a.adido las l*neas5 en&io.on8oad = ("n!tion(eBito/0oolean) { i( (eBito) { no$'re_tBt.teBt = ; $ail_tBt.teBt = ; $ensa*e_tBt.teBt = ; } else { Alert.show()a ha'ido "n error en el en&Fo); } } Que #ac*a los campos si la car,a del script se reali' correctamente o muestra una alerta en caso contrario$ 191
=osotros en el e!emplo hemos a.adido al,unos #alidadores para ase,urar ue todos los campos se han rellenado$ As*) antes de declarar el o&!eto LoadVars hemos introducido unas cuantas condiciones del tipo5 i( (no$'re_tBt.teBt.length == 0) { Alert.show(Cntrod"!e t" no$'re# -rror# Alert.JK); ret"rn (alse; } 0onde se e#al>a la lon,itud del te"to del campo nom&re$ Si lle,a a la l*nea return faIse; se saldr1 de la %uncin - no lle,ar1 a en#iar los datos$
8l script en<iar+co)entario'#"# se encar,ar*a de reci&ir los datos) tratarlos - lue,o almacenarlos o en#iarlos por correo$ =osotros hemos almacenado la opcin en un archi#o 9ML desde donde recuperaremos la in%ormacin cada cierto tiempo utili'ando un &ucle en la l*nea de tiempo$ Unidad 20. ActionScript D Formularios (I/)$ Kecuperando in%ormacin
8n puntos anteriores #imos cmo utili'ar el o&!eto LoadVars para leer in%ormacin de archi#os e"ternos$ 8n este apartado #eremos cmo recuperar in%ormacin de un archi#o 9ML$ 4ara ello - el primer paso ser1 crear un o&!eto del tipo 9ML5 &ar !o$entarios/N48 = new N48(); Hemos creado un o&!eto XML llamado comentarios$ Ahora podremos utiIizarIo para Ieer un archivo XML y tomar Ia informacin contenida en I$
Fna propiedad mu- >til del o&!eto XML es la de ignoreWhite) ue i,norar1 auellos campos ue estn en &lanco - as* no tendremos ue preocuparnos por posi&les errores5 !o$entarios.ignoreOhite = tr"e; 192
8l ,roso del cdi,o ue hemos a.adido para car,ar los datos es el si,uiente5 !o$entarios.on8oad = ("n!tion(eBito/0oolean) { i( (eBito) { !o$entarios_tBt.teBt = ; &ar n"$ero-ntradas = this.(irst%hild.!hild3odes.length; // haceos #n b#cle para recorrer todos los eleentos del archivo $%& (or (&ar i = n"$ero-ntradasG1; iI=0; iGG) { // g#ardaos en la variable i$%& la r#ta del nodo &ar $iN48/N483ode = this.(irst%hild.!hild3odes6i7; A/ g#ardaos el contenido del nodo &ar a"tor/+tring = $iN48.!hild3odes607.(irst%hild.node1al"e; &ar e$ail/+tring = $iN48.!hild3odes617.(irst%hild.node1al"e; &ar $ensa*e/+tring = $iN48.!hild3odes627.(irst%hild.node1al"e; // creaos la variable cadena'inal donde insertareos el contenido htl (#e tendr) salida en el c#adro de texto &ar !adena2inal/+tring; // y cargaos el contenido del nodo en cadena'inal !adena2inal = Pa hre(=Q$ailto/De$ailDQIDa"torDPAaI/ ; 193 !adena2inal D= Pspan !lass=Q$ensa*eQID$ensa*eDPAspanIP'r AI; // a*adios el contenido de cadena'inal en la ca+a de texto !o$entarios_tBt.teBt D= !adena2inal; // y repetios el b#cle } } else { !o$entarios_tBt.teBt = 3o se p"dieron !argar los datos; } } !o$entarios.load(lee_!o$entarios.php);
Ahora e"plicaremos paso a paso u hemos hecho$ 7omo puedes #er en la >ltima l*nea car,amos un script php ue ,enera un documento 9ML en el o&!eto co)entarios$ Al car,arlo se e!ecuta el controlador onLoad ue est1 de%inido al principio$ Si la car,a tu#o "ito) procedemos a co,er la in%ormacin del archi#o 9ML ,enerado$ Lo primero ue hacemos es #aciar el contenido del 1rea de te"to co)entarios+t4t$ !o$entarios_tBt.teBt = ;
Lue,o pasamos a tra&a!ar con el contenido del archi#o 9ML$ Fn archi#o 9ML tiene la estructura mu- similar a un archi#o H6ML) -a ue tam&in est1 &asado en etiuetas$ 8l contenido de nuestro archi#o es al,o parecido a esto5 194 PRB$l &ersion=1.0 en!oding=C+JGSS5TG1 RI Plistado%o$entariosI P!o$entarioI Pa"torI*os9PAa"torI Pe$ailI*oseU!orreo.!o$PAe$ailI P$ensa*eIestoy es!ri'iendo "n $ensa*ePA$ensa*eI PA!o$entarioI P!o$entarioI Pa"torIa$paroPAa"torI Pe$ailIa$paroU!orreo.!o$PAe$ailI P$ensa*eIeste $ensa*e ta$'i9n se p"'li!ar<PA$ensa*eI PA!o$entarioI P!o$entarioI Pa"torI$ig"elPAa"torI Pe$ailI$ig"elU!orreo.!o$PAe$ailI P$ensa*eI$ensa*e de pr"e'aPA$ensa*eI PA!o$entarioI P!o$entarioI Pa"torI!ristinaPAa"torI Pe$ailI!ristinaU!orreo.!o$PAe$ailI P$ensa*eIesto ("n!iona@PA$ensa*eI PA!o$entarioI PAlistado%o$entariosI A cada una de las etiuetas (sin contar la de "ml) se le llama nodo$
4ara na#e,ar por los nodos a tra#s del o&!eto 9ML utili'aremos las propiedades firstChiId (ue referencia Ia etiqueta contenida inmediatamente despus de aqueIIa en Ia que nos encontramos) - chiIdNodes (ue hace referencia aI conjunto de nodos con eI mismo nombre dentro de Ia etiqueta en Ia que nos encontramos)$ 195 0e esta %orma XML.firstChiId.nodeName nos de#ol#er*a el nom&re del primer hi!o dentro del archi#o 9ML) listado=o)entarios$ As* ue almacenamos el n>mero de comentarios en la #aria&le n()eroCntradas escri&iendo5 &ar n"$ero-ntradas = this.(irst%hild.!hild3odes.length; 8sto nos de#ol#er1 el n>mero de hi!os de this.firstChiId) o lo ue es lo mismo de XML.firstChiId$ Fna #e' sepamos cuantas entradas tenemos almacenadas) haremos un &ucle para sacarlas todas$ 8ste &ucle lo empe'aremos desde el %inal para tener as* las entradas m1s recientes al principio - las m1s anti,uas al %inal$
Ahora crearemos una nue#a #aria&le llamada )iDM! ue contendr1 la ruta completa del nodo co)entario para cada una de las #ueltas del &ucle) as* no tendremos ue escri&irla entera cada #e' ue ueramos acceder a ella$ &ar $iN48/N483ode = this.(irst%hild.!hild3odes6i7; 0e esta %orma estamos haciendo re%erencia al comentario n>mero i del archi#o$ Ahora lo >nico ue de&emos hacer es recuperar la in%ormacin dentro del nodo co)entario$ 7omo este nodo tiene tres hi!os con distinto nom&re haremos re%erencia a ellos como miXML.chiIdNodes[0]) miXML.chiIdNodes[1] - miXML.chiIdNodes[2]$
Fna #e' hallamos comprendido &ien estos conceptos slo har1 %alta #erter el contenido de los nodos (utili'ando la propiedad nodeVaIue) en #aria&les ue crearemos a su e%ecto5 &ar a"tor/+tring = $iN48.!hild3odes607.(irst%hild.node1al"e; &ar e$ail/+tring = $iN48.!hild3odes617.(irst%hild.node1al"e; &ar $ensa*e/+tring = $iN48.!hild3odes627.(irst%hild.node1al"e; Fna #e' ten,amos la in%ormacin podemos almacenarla - pasar al si,uiente nodo co)entario$ As* ue le damos %ormato H6ML) lo almacenamos en una #aria&le) - metemos el contenido de esa #aria&le en el 1rea de te"to$ 196 &ar !adena2inal/+tring; !adena2inal = Pa hre(=Q$ailto/De$ailDQIDa"torDPAaI/ ; !adena2inal D= Pspan !lass=Q$ensa*eQID$ensa*eDPAspanIP'r AI; !o$entarios_tBt.teBt D= !adena2inal; 8l &ucle se repetir1 de este modo para cada uno de los nodos comentarios - cuando termine ha&remos aca&ado - toda la in%ormacin contenida en el archi#o 9ML estar1 (%ormateada como H6ML) en el 1rea de te"to$ Unidad 20. ActionScript D Formularios (/)$ Ctras propiedades de los Formularios
Adem1s de todo lo ue hemos #isto e"isten) tam&in) otras propiedades &astante interesantes$ 4or e!emplo) el orden de tabuIacin$ 8sta propiedad esta&lece como act>a el cursor a las repetidas pulsaciones de la tecla TabuIador$ 4odemos alterar el orden utili'ando la propiedad tabIndex$ 8sta propiedad indicar1 el orden en el ue se despla'ar1 el cursor cada #e' ue pulsemos el TabuIador5 no$'re_tBt.ta'CndeB = 1; $ail_tBt.ta'CndeB = 2; $ensa*e_tBt.ta'CndeB = 3; reset_'tn.ta'CndeB = ;; s"'$it_'tn.ta'CndeB = 5;
6am&in podemos esta&lecer dnde coIocar eI cursor (o foco) escri&iendo la si,uiente l*nea5 +ele!tion.set2o!"s(no$'re_tBt); F1cil #erdad? 197
0e este modo en las #alidaciones ue #imos antes podemos hacer lo si,uiente5 i( ($ail_tBt.teBt.length == 0) { +ele!tion.set2o!"s($ail_tBt); Alert.show(Cntrod"!e t" !orreo ele!trEni!o# -rror# Alert.JK); ret"rn (alse; } As* si no se ha rellenado al,>n campo el %oco se sit>a directamente so&re l para ue el usuario lo rellene sin tener ue despla'arse$
6am&in podemos esta&lecer el botn predeterminado deI formuIario para ue cuando se pulse la tecla Intro sea como si hicisemos clic en l$ 8scri&e la si,uiente l*nea5 (o!"s4anager.de(a"ltP"sh0"tton = s"'$it_'tn; 0e esta %orma haremos ue el &otn predeterminado sea s(,)it+,tn$
8stilos 7SS
4odemos asignar estiIos CSS aI contenido de una caja de texto ue acepte H6ML$ 4or e!emplo) nosotros en el 1rea de te"to co)entarios+t4t tenemos al,o parecido a esto5 Pa hre(=$ailto/anaU!orreo.!o$IanaPAaI/ Pspan !lass=$ensa*eIsi a!t"ali5o a,"F se &er< en otra &entanaR PAspanI P'r AI Pa hre(=$ailto/*es"sU!orreo.!o$I*esVsPAaI/ Pspan !lass=$ensa*eIp"es ya esta$os todosPAspanI P'r AI 198 Pa hre(=$ailto/e$ilioU!orreo.!o$Ie$ilioPAaI/ Pspan !lass=$ensa*eIyo ta$'i9n $e ap"ntoPAspanI P'r AI Pa hre(=$ailto/da&idU!orreo.!o$Ida&idPAaI/ Pspan !lass=$ensa*eI'ien# pero trae algo para !enar# no tengo nada en la ne&eraPAspanI P'r AI C&#iamente) como el componente admite H6ML no #eremos el cdi,o) sino directamente su salida$ 4ero podr*amos asi,narle el si,uiente estilo para me!orar la #isuali'acin5 a { (ontGweight/ 'old; } .$ensa*e { (ontGstyle/ itali!; }
+uardaremos este estilo en un archi#o llamado estilo+co)entarios'css$ 4ero) cmo hacemos para #incularlo al 1rea de te"to? F1cil$ Jasta con declarar un nue#o o&!eto del tipo TextFieId.StyIeSheet - asociarlo a co)entarios+t4t$ 4ara hacer esto escri&imos5 &ar $i)o*a-stilo/?eBt2ield.+tyle+heet = new ?eBt2ield.+tyle+heet(); $i)o*a-stilo.on8oad = ("n!tion(eBito/0oolean) { i( (eBito) { !o$entarios_tBt.style+heet = $i)o*a-stilo; } } $i)o*a-stilo.load(estilo_!o$entarios.!ss); 199 7uando se e%ect>a la car,a del archi#o) si se reali'a con "ito) se asociar1 a la propiedad styIeSheet de co)entarios+t4t$ E -a tendremos nuestro campo de te"to %ormateado$
4odemos cam&iar esta propiedad en cualuier momento) de modo ue cuando se asocie una nue#a ho!a de estilo mediante la si,uiente l*nea) el contenido del 1rea de te"to se redi&u!ar1 para tomar el nue#o %ormato$ $i)o*a-stilo.load(estilo_alternati&o.!ss); Incorporar Fuentes
Ctro de los pro&lemas con los ue nos toparemos cuando tra&a!emos con %lash ser1n las %uentes ue utilicemos$ Solamente de&er1s incluir en tu pro-ecto auellas fuentes que quieras utiIizar para Ios textos dinmicos y de entrada) pues Flash se encar,ar1 de ,estionar auellas ue utilices en los est1ticos$ 4ara incorporar una %uente en tu pel*cula de&er1s hacer clic derecho en al,una parte #ac*a de la BibIioteca - seleccionar Nueva fuente$ Se a&rir1 el si,uiente cuadro de di1lo,o5 8n el desple,a&le Fuente selecciona la %uente ue deseas utili'ar$ 0e&er1s seleccionar los estilos ue #as a utili'ar (Negrita) Cursiva - Tamao)) de lo contrario la %uente no estar1 disponi&le$ 0ale un nom&re) ue se mostrar1 en la BibIioteca - estar1 lista para utili'arse$
200 7uando crees un campo de te"to din1mico o de entrada selecciona la %uente ue aparecer1 se.alada con un asterisco (*)$ E no tendr1s m1s pro&lemas en #isuali'arlas en euipos en los ue no se encuentren instaladas$
8!ercicios del 6ema :3 4rue&a e#aluati#a del 6ema :3$ Unidad 21. Los Filtros (I)$ Introduccin 7omo comentamos al principio del curso podemos #er ue Flash 8 incorpora una nue#a caracter*stica5 Ios FiItros$ Su uso aumentar1 la capacidad de me!orar el aspecto - %uncionamiento de nuestros pro-ectos$ 8l >nico pro&lema es ue) en esta #ersin) sIo estn disponibIes para Ios cIips de peIcuIa, Ios botones y eI texto$ 8n este tema #eremos los %iltros disponi&les) su uso - como mane!arlos mediante ActionScript$ 4ara ilustrar su %uncionamiento mostraremos e!emplos de cmo a%ectan los %iltros a esta ima,en5 201 Antes de empe'ar resaltaremos una cosa$ 8n ActionScript Ios coIores se indican mediante una cadena de 8 caracteres con un componente he"adecimal5 0xRRVVAA$ Las dos primeras ser1n siempre las mismas 3") las dos si,uientes corresponder1n a la cantidad de color ro!o) las dos si,uientes de #erde - las dos >ltimas de a'ul$ 0e este modo 04000000 ser*a el color ne,ro (la ausencia de color)) - 04FFFFFF el color &lanco (con el ro!o) a'ul - #erde al m1"imo)$ 8l Filtro Som&ra
Ftili'ando este %iltro podremos a.adirle una som&ra a la ima,en5
Sus opciones son las si,uientes5 $aIpha5 determina la transparencia de la som&ra (de 3 a H)$ $angIe5 determina el 1n,ulo de la som&ra$ $bIurX5 determina la cantidad de desen%oue hori'ontal$ $bIurY5 determina la cantidad de desen%oue #ertical$ $coIor5 determina el color de la som&ra (escrito 04VVAA)$ $distance5 determina la distancia de la som&ra al o&!eto$ $hideObject5 &ooleano) esconde el o&!eto de!ando slo la som&ra (se,unda ima,en)$ $inner5 &ooleano) hace ue la som&ra sea interior$ 202 $knockout5 &ooleano) acti#a el %iltro e"tractor) hace ue el o&!eto se #uel#a del color del %ondo$ $quaIity5 n>mero de #eces ue se aplica el %iltro$ 4uede tomar los #alores 1) 1 /$ 7alidad baja) media - aIta) respecti#amente$ $strength5 determina la intensidad de la som&ra$ 4odr1s utili'ar el %iltro Sombra escri&iendo el si,uiente cdi,o5 i$port (lash.(ilters.>rop+hadow2ilter; &ar so$'ra/>rop+hadow2ilter = new >rop+hadow2ilter(); so$'ra.strength = 5; so$'ra.alpha = 0.50; so$'ra.!olor = 0B000000; ... $i%lip.(ilters = 6so$'ra7; 6am&in podr*as crear la som&ra directamente con todas sus propiedades en el constructor de este modo5 i$port (lash.(ilters.>rop+hadow2ilter; &ar so$'ra/>rop+hadow2ilter = new >rop+hadow2ilter(distan!e# angle# !olor# alpha# 'l"rN# 'l"rW# strength# ,"ality# inner# Mno!Mo"t# hideJ'*e!t); $i%lip.(ilters = 6so$'ra7; As* en el constructor de&eremos sustituir cada par1metro por el #alor ue ueremos darle$ 203 4uedes omitir los par1metros ue uieras) pero ten en cuenta ue siempre se interpretar1n los #alores ue des en este orden hasta ue no encuentre m1s$ 4ara practicar la car,a - modi%icacin de %iltros te aconse!amos reali'ar el 8!ercicio Filtro Som&ra Unidad 21. Los Filtros (II)$ 8l Filtro 0esen%ocar
Ftili'ando este %iltro podremos hacer ue la ima,en se muestre desen%ocada5 Sus opciones son las si,uientes5 $bIurX5 determina la cantidad de desen%oue hori'ontal$ $bIurY5 determina la cantidad de desen%oue #ertical$ $quaIity5 n>mero de #eces ue se aplica el %iltro$ 4uede tomar los #alores 1) 1 /$ 7alidad baja) media - aIta) respecti#amente$ 4odr1s utili'ar el %iltro Desenfocar escri&iendo el si,uiente cdi,o5 i$port (lash.(ilters.0l"r2ilter; &ar so$'ra/0l"r2ilter = new 0l"r2ilter (); desen(o!ar.'l"rN = 5; desen(o!ar.'l"rW = 5; desen(o!ar.,"ality= 3; 204 $i%lip.(ilters = 6desen(o!ar7; 6am&in podr*as crear el desen%oue directamente con todas sus propiedades en el constructor) de este modo5 i$port (lash.(ilters.0l"r2ilter; &ar desen(o!ar/0l"r2ilter = new 0l"r2ilter('l"rN# 'l"rW# ,"ality); $i%lip.(ilters = 6desen(o!ar7; As* en el constructor de&eremos sustituir cada par1metro por el #alor ue ueremos darle$ 4uedes omitir los par1metros ue uieras) pero ten en cuenta ue siempre se interpretar1n los #alores ue des en este orden hasta ue no encuentre m1s$ 8l Filtro Iluminado
Ftili'ando este %iltro podremos a.adirle un e%ecto de iluminacin a la ima,en5 205
Sus opciones son las si,uientes5 $aIpha5 determina la transparencia de la iluminacin (de 3 a H)$ $bIurX5 determina la cantidad de desen%oue hori'ontal$ $bIurY5 determina la cantidad de desen%oue #ertical$ $coIor5 determina el color de la iluminacin (escrito 04VVAA)$ $inner5 &ooleano) hace ue la iluminacin sea interior$ $knockout5 &ooleano) acti#a el %iltro e"tractor) hace ue el o&!eto se #uel#a del color del %ondo$ $quaIity5 n>mero de #eces ue se aplica el %iltro$ 4uede tomar los #alores 1) 1 /$ 7alidad baja) media - aIta) respecti#amente$ $strength5 determina la intensidad de la iluminacin$ 4odr1s utili'ar el %iltro Iluminado escri&iendo el si,uiente cdi,o5 206 i$port (lash.(ilters.Xlow2ilter; &ar il"$inado/Xlow2ilter = new Xlow2ilter(); il"$inado.,"ality = 3; il"$inado.alpha = 0.50; il"$inado.!olor = 0B000000; ... $i%lip.(ilters = 6il"$inado7; 6am&in podr*as crear la iluminacin directamente con todas sus propiedades en el constructor) de este modo5 i$port (lash.(ilters.Xlow2ilter; &ar il"$inado/Xlow2ilter = new Xlow2ilter(!olor# alpha# 'l"rN# 'l"rW# strength# ,"ality# inner# Mno!Mo"t); $i%lip.(ilters = 6il"$inado7; As* en el constructor de&eremos sustituir cada par1metro por el #alor ue ueremos darle$ 4uedes omitir los par1metros ue uieras) pero ten en cuenta ue siempre se interpretar1n los #alores ue des en este orden hasta ue no encuentre m1s$ Unidad 21. Los Filtros (III)$ J>sueda 8l Filtro Jisel
Ftili'ando este %iltro podremos a.adirle un &isel a la ima,en5 207
Sus opciones son las si,uientes5 $angIe5 determina el 1n,ulo del &isel$ $bIurX5 determina la cantidad de desen%oue hori'ontal$ $bIurY5 determina la cantidad de desen%oue #ertical$ $distance5 determina la distancia ue a&arcar1 el &isel en el o&!eto$ $highIightAIpha5 determina la transparencia del color de resaltado (&isel)$ $hightIightCoIor5 determina el color del resaltado (escrito 04VVAA)$ $knockout5 &ooleano) acti#a el %iltro e"tractor) hace ue el o&!eto se #uel#a del color del %ondo$ $quaIity5 n>mero de #eces ue se aplica el %iltro$ 4uede tomar los #alores 1) 1 /$ 7alidad baja) media - aIta) respecti#amente$ $shadowAIpha5 determina la transparencia del color de som&ra del &isel$ $shadowCoIor5 determina el color de la som&ra del &isel (escrito 04VVAA)$ $strength5 determina la intensidad del &isel$ $type5 indica el tipo de &isel a aplicar$ 4uede tomar los #alores inner) o(ter - 2(ll$ Interior) exterior - compIeto) respecti#amente$ 4odr1s utili'ar el %iltro BiseI escri&iendo el si,uiente cdi,o5 i$port (lash.(ilters.0e&el2ilter; 208 &ar 'isel/0e&el2ilter = new 0e&el2ilter(); 'isel.strength = 5; 'isel.angle = ;5; 'isel.shadow%olor = 0B000000; ... $i%lip.(ilters = 6'isel7; 6am&in podr*as crear el &isel directamente con todas sus propiedades en el constructor de este modo5 i$port (lash.(ilters.0e&el2ilter; &ar 'isel/0e&el2ilter = new 0e&el2ilter(distan!e# angle# highlight%olor# highlightAlpha# shadow%olor# shadowAlpha# 'l"rN# 'l"rW# strength# ,"ality# type# Mno!Mo"t); $i%lip.(ilters = 6'isel7; As* en el constructor de&eremos sustituir cada par1metro por el #alor ue ueremos darle$ 4uedes omitir los par1metros ue uieras) pero ten en cuenta ue siempre se interpretar1n los #alores ue des en este orden hasta ue no encuentre m1s$ 8l Filtro Iluminado 0e,radado
Ftili'ando este %iltro podremos a.adirle una iluminacin (como en el %iltro anterior) a la ima,en) pero con la caracter*stica de ue esta iluminacin estar1 compuesta por un de,radado5 209
Sus opciones son las si,uientes5 $aIphas5 determina matri' de #alores de transparencia al%a (de 3 a H) para los colores correspondientes de la matri' coIors$ $angIe5 determina el 1n,ulo de la iluminacin$ $bIurX5 determina la cantidad de desen%oue hori'ontal$ $bIurY5 determina la cantidad de desen%oue #ertical$ $coIors5 con!unto de colores ue de%inen el de,radado (escritos 04VVAA)$ $distance5 determina la distancia de la iluminacin al o&!eto$ $knockout5 &ooleano) acti#a el %iltro e"tractor) hace ue el o&!eto se #uel#a del color del %ondo$ $quaIity5 n>mero de #eces ue se aplica el %iltro$ 4uede tomar los #alores 1) 1 /$ 7alidad baja) media - aIta) respecti#amente$ 210 $ratios5 matri' de proporciones de distri&ucin de color para los colores correspondientes de la matri' coIors (de 0 a 155)$ $strength5 determina la intensidad de la iluminacin$ $type5 indica la colocacin de la iluminacin$ 4uede tomar los #alores inner) o(ter - 2(ll$ Interior) exterior - compIeto) respecti#amente$ 4odr1s utili'ar el %iltro IIuminado Degradado escri&iendo el si,uiente cdi,o5 i$port (lash.(ilters.XradientXow2ilter; &ar il"$inado/XradientXow2ilter = new XradientXow2ilter(); il"$inado.angle = ;5; il"$inado.!olors = 60B220000# 0B002200# 0B0000227; il"$inado.type = inner; ... $i%lip.(ilters = 6il"$inado7; 6am&in podr*as crear la iluminacin directamente con todas sus propiedades en el constructor de este modo5 i$port (lash.(ilters.XradientXow2ilter; &ar il"$inado/XradientXow2ilter = new XradientXow2ilter(distan!e# angle# !olors# alphas# ratios# 'l"rN# 'l"rW# strength# ,"ality# type# Mno!Mo"t); $i%lip.(ilters = 6il"$inado7; As* en el constructor de&eremos sustituir cada par1metro por el #alor ue ueremos darle$ 211 4uedes omitir los par1metros ue uieras) pero ten en cuenta ue siempre se interpretar1n los #alores ue des en este orden hasta ue no encuentre m1s$ Unidad 21. Los Filtros (I/)$ 8l Filtro Jisel 0e,radado
I,ual ue el %iltro ue hemos #isto anteriormente) este %iltro es capa' de mostrar un &isel so&re el o&!eto) pero a.adiendo un de,radado a la %orma de ste5 Sus opciones son las si,uientes5 $aIphas5 determina matri' de #alores de transparencia al%a (de 3 a H) para los colores correspondientes de la matri' coIors$ $angIe5 determina el 1n,ulo del &isel$ $bIurX5 determina la cantidad de desen%oue hori'ontal$ $bIurY5 determina la cantidad de desen%oue #ertical$ $coIors5 con!unto de colores ue de%inen el de,radado (escritos 04VVAA)$ $distance5 determina la distancia ue a&arcar1 el &isel en el o&!eto$ $knockout5 &ooleano) acti#a el %iltro e"tractor) hace ue el o&!eto se #uel#a del color del %ondo$ $quaIity5 n>mero de #eces ue se aplica el %iltro$ 4uede tomar los #alores 1) 1 /$ 7alidad baja) media - aIta) respecti#amente$ $ratios5 matri' de proporciones de distri&ucin de color para los colores correspondientes de la matri' coIors (de 0 a 155)$ $strength5 determina la intensidad del &isel$ $type5 indica la colocacin del &isel$ 4uede tomar los #alores inner) o(ter - 2(ll$ Interior) exterior - compIeto) respecti#amente$ 4odr1s utili'ar el %iltro BiseI Degradado escri&iendo el si,uiente cdi,o5 i$port (lash.(ilters.Xradient0e&el2ilter; 212 &ar 'isel/Xradient0e&el2ilter = new Xradient0e&el2ilter(); 'isel.angle = T0; 'isel.!olors = 60B220000# 0B002200# 0B0000227; 'isel.type = ("ll; ... $i%lip.(ilters = 6'isel7; 6am&in podr*as crear el &isel directamente con todas sus propiedades en el constructor de este modo5 i$port (lash.(ilters.Xradient0e&el2ilter; &ar 'isel/Xradient0e&el2ilter = new Xradient0e&el2ilter(distan!e# angle# !olors# alphas# ratios# 'l"rN# 'l"rW# strength# ,"ality# type# Mno!Mo"t); $i%lip.(ilters = 6'isel7; As* en el constructor de&eremos sustituir cada par1metro por el #alor ue ueremos darle$ 4uedes omitir los par1metros ue uieras) pero ten en cuenta ue siempre se interpretar1n los #alores ue des en este orden hasta ue no encuentre m1s$ 8l Filtro A!ustar 7olor
Ftili'ando este %iltro podremos cam&iar todas las caracter*sticas correspondientes al color de la ima,en5 213
Slo tiene una opcin5 $matrix$ 8n ella escri&iremos una matriz de 20 eIementos (4x5) ue indicar1n la cantidad de cada color) su intensidad) &rillo) saturacin - contraste$ 4odr1s modi%icar el %iltro Ajustar CoIor escri&iendo el si,uiente cdi,o5 i$port (lash.(ilters.%olor4atriB2ilter; &ar $i4atri5/Array = 61# 0# 0# 0# 100# 0# 1# 0# 0# 100# 0# 0# 1# 0# 100# 0# 0# 0# 1# 07; &ar a*"sta%olor/%olor4atriB2ilter = new %olor4atriB2ilter($i4atri5); $i%lip.(ilters = 6a*"sta%olor7; 214 Acceder a los Filtros de un 8lemento
4ara modi%icar los %iltros asociados a un o&!eto tendremos ue acceder a su propiedad fiIters$ Esta propiedad aImacena una matriz que no puede ser editada directamente$ As* ue si ueremos modi%icar los %iltros ue a%ectan a un o&!eto tendremos ue darle una nue#a matri' a la propiedad - desechar la anterior$ As*) si ueremos a.adir1n nue#o %iltro al o&!eto )i=li# de&eremos escri&ir lo si,uiente5 &ar so$'ra/>rop+hadow2ilter = new >rop+hadow2ilter(); &ar n"e&a4atri5/Array = $i%lip.(ilters; n"e&a4atri5.p"sh(so$'ra); $i%lip.(ilters = n"e&a4atri5; 7omo puedes #er) lo ue hacemos es ,uardar los %iltros e"itentes en una matri' n(e<aMatriz) introducimos el nue#o %iltro en ella con el mtodo push() - lue,o le asi,namos los %iltros ue contiene )iMatriz al clip )i=li#$
7omo esta propiedad se trata de una matri' tam&in podemos acceder a los %iltros de esta %orma5 &ar n"e&a4atri5/Array = $i%lip.(ilters; n"e&a4atri5607.'l"rN = 15; n"e&a4atri5607.'l"rW = 15; $i%lip.(ilters = n"e&a4atri5; 215 0escar,amos los %iltros en n(e<aMatriz) - ahora accedemos al primer %iltro almacenado - cam&iamos sus propiedades bIurX - bIurY$ Fna #e' modi%icadas) #ol#emos a #olcar el contenido de n(e<aMatriz en miCIip.fiIters$ F1cil) #erdad? 8l >nico pro&lema ue tiene este mtodo es ue debers recordar eI Iugar que ocupa cada fiItro en Ia matriz$ Kecuerda ue el mtodo push() inserta un elemento en una matri' siempre en Itimo lu,ar$ 8!ercicios del 6ema :H 4rue&a e#aluati#a del 6ema :H$ Unidad 22. /*deo (I)$ Introduccin 7on Flash cada #e' es m1s %1cil a.adir #*deos a nuestras presentaciones o (e&s$ 8n particular Flash 8 incorpora una serie de caracter*sticas ue %acilitan la tarea al m1"imo - permiten el uso de #*deos como si se tratase de cualuier otro o&!eto en pantalla$ A continuacin e"plicaremos cmo hacerlo - cuales son las me!ores alternati#as$ Ftili'aremos el si,uiente e!emplo para documentar al,unos de los pasos ue de&eremos reali'ar$
216 Importando /*deos
Lo primero ue de&eremos hacer es trans%ormar nuestro #*deo de %ormato avi) mpeg) mov) wmv o dv al %ormato ue utili'a Flash5 fIv$ 8ste %ormato) adem1s de crear archi#os de #*deo de buena caIidad muy comprimidos) te permitir1 introducir puntos de referencia desde donde controlaremos la interaccin del entorno de la pel*cula con el #*deo$ Ha' clic en Archivo Q Importar Q Importar vdeo para empe'ar a con%i,urar el archi#o $%l# ue crearemos$ Se a&rir1 una pantalla como esta5 217 Au* de&er1s seleccionar el archi#o ue uieres importar para utili'arlo en tu pel*cula$ Ha' clic en el &otn Examinar - &>scalo en tus carpetas$ 7uando lo ha-as encontrado pulsa el &otn Aceptar - estar1s listo para se,uir pulsando el &otn Siguiente$ 6am&in es posi&le marcar la opcin Ya se ha impIementado en un servidor Web, FIash Vdeo Streaming Service o FIash Communication Server$ 8n este caso de&er1s introducir la URL del archi#o) ue pre#iamente ha&r1 sido preparado para poder utili'arlo en Flash$ 218 La si,uiente pantalla te permitir1 seleccionar el modo en el ue se implementar1 el #*deo5 4uedes ele,ir entre #arias opciones) si seleccionas cualuiera de ellas #er1s su descripcin en la derecha de la pantalla$ 6e adelantamos ue para la implementacin de #*deo para Streaming de&er1s disponer de un ser#idor (de pa,o) ue transmita tu #*deo al usuario de una %orma ptima$ La opcin Descarga progresiva) a pesar de no ser la m1s aconse!ada para cone"iones de &a!a #elocidad (so&re todo para archi#os mu- ,randes) es la m1s 219 utili'ada por auellos ue no disponen de los recursos necesarios para contratar los ser#icios de un ser#idor de #*deo en %ormato Stream$ As* ue seleccionaremos la primera opcin - pulsaremos Siguiente$ Ahora es cuando realmente con%i,uraremos el archi#o de salida$ Antes ue nada pulsa el &otn Mostrar configuracin avanzada$ 220 /er1s 2 pesta.as$ La primera te ser#ir1 para ajustar Ia compresin y caIidad deI vdeo$ 4uedes seleccionarla directamente en el desple,a&le de arri&a del todo o cam&iar al,una de las opciones ue te aparecen en la pesta.a Codificacin$ =osotros haremos hincapi en la pesta.a Puntos de referencia$ 0esde au* podremos con%i,urar puntos en nuestra pel*cula$ Unidad 22. /*deo (II)$ 8"isten dos tipos de puntos de re%erencia di%erentes5 el de Navegacin - el de Evento$ 7reando puntos de Navegacin podremos re%erenciarnos m1s tarde a ellos para saItar en Ia peIcuIa$ Ser*a al,o as* como crear cap*tulos so&re los ue podremos na#e,ar utili'ando &otones - ActionScript$ 8l punto de Ke%erencia de Evento nos permitir1 crear interacciones con eI resto de objetos en Ia peIcuIa$ 8stos puntos nos permitir1n pasar par1metros ue podremos recuperar mediante ActionScript$ 8n el e!emplo hemos creado los si,uientes puntos de referencia5 221 7omo #es ha- 2 de Navegacin) a los cuales acudiremos pulsando los &otones para saltar entre los cap*tulos de la pel*cula$ Lue,o hemos a.adido ; puntos de Evento desde los ue pasaremos un par1metro ue har1 ue se muestre determinado %oto,rama de un clip ue se encontrar1 en el Escenario$ 4uedes reali'ar el e!ercicio paso a paso de 4untos de Ke%erencia para #er cmo lo hacerlo$ 0esde la pesta.a Recortar y Ajustar podr1s modi%icar el tama.o del #*deo - su duracin$ 7uando ha-as terminado pulsa el &otn Siguiente$ 222 0esde au* podr1s seleccionar un estiIo de controIes predeterminado) eli,e uno o selecciona Ninguno para crear t> mismo los controles (como #eremos a continuacin) - pulsa el &otn Siguiente$ 8l sistema te a#isar1 de ue el #*deo est1 de&idamente con%i,urado - pasar1 a importarlo$ 7uando ha-a terminado lo a.adir1 directamente so&re el Escenario$ 8l 7omponente FL/4la-&acW
223 Si -a tu#ieses el archi#o importado a fIv no har*a %alta ue reali'ases las acciones anteriores) slo de&er1s insertar en el escenario un componente ue incorpora Flash para la reproduccin de ste$ A&re el PaneI Componentes desde Ventana Q Componentes - ha' clic so&re FLV PIayback - PIayer 8$ Arrastra un componente FLVPIayBack al Escenario$ 0esde el PaneI Parmetros podr1s con%i,urarlo$ All* encontrar1s las si,uientes opciones5 autoPIay5 puede tomar los #alores tr(e o 2alse$ Indican si el #*deo de&e reproducirse nada m1s a&rir el archi#o o esperar a una orden para empe'ar a reproducirse$ autoRewind5 puede tomar los #alores tr(e o 2alse$ Indica si el #*deo de&er1 #ol#er a la posicin inicial desps de ha&erse reproducido completamente$ autoSize5 puede tomar los #alores tr(e o 2alse$ Indica si el control de&er1 a!ustarse al tama.o del #*deo) o por el contrario de&er1 ser el #*deo el ue se a!uste al tama.o del control$ bufferTime5 especi%ica el n>mero de se,undos ue se almacenar1n en la memoria antes de ue se inicie la reproduccin del #*deo$ contentPath5 indica la ruta del archi#o ue se de&er1 reproducir$ cuePoints5 indica los puntos de re%erencia ue est1n incluidos en la pel*cula$ Fna #e' importada la pel*cula a %ormato fIv no pueden ser modi%icados$ isLive5 puede tomar los #alores tr(e o 2alse$ 8ste campo se utili'ar1 para la transmisin de #*deo en #i#o - slo podr1 utili'arse a tra#s de un ser#idor de Streaming$ skin5 desde au* puedes modi%icar la apariencia de los controles de la pel*cula - seleccionar uno entre los prede%inidos$ skinAutoHide5 puede tomar los #alores tr(e o 2alse$ Indicar1 si los controles se pueden esconder para #ol#er a aprecer cuando el cursor se sit>e so&re la pel*cula$ totaITime5 indica el tiempo total del #*deo$ voIume5 de 0 a 100$ Indica el #olumen m1"imo del #*deo$ Fna #e' insertada la pel*cula mediante la adicin de este componente o por importacin de&eremos darle un nom&re de instancia para poder re%erirnos a l$ Ha'lo desde este mismo panel o desde el PaneI Propiedades Unidad 22. /*deo (III)$ Fso de 7omponentes para la Keproduccin
Fsar componentes para controlar la pel*cula es mu- sencillo) slo de&er1s arrastrarlos desde el PaneI Componentes al Escenario - escri&ir unas pocas l*neas en el PaneI Acciones$ 4ara a.adir estos componentes ha' clic en el elemento FLV PIayback Custom UI - arrastra el ue tu uieras al Escenario) #eamos cuales son sus %unciones$ 224 BackButton5 retrocede el %lu!o del #*deo al punto de re%erencia inmediatamente anterior o en su de%ecto al inicio de ste$ BufferingBar5 muestra el pro,reso de descar,a del #*deo$ ForwardButton5 a#an'a el %lu!o del #*deo al punto de re%erencia inmediatamente posterior o en su de%ecto al %inal de ste$ MuteButton5 esta&lece el #olumen de la pel*cula directamente a 3$ Actuar*a de %orma similar a la l*nea5 $i1ideo.&ol"$e = 0; PauseButton5 pausa la pel*cula en el momento en el ue se pulse el &otn$ PIayButton5 reaunda (o comien'a) la reproduccin a partir de donde se encuentre el ca&e'al de reproduccin de #*deo$ PIayPauseButton5 una me'cla de los dos anteriores) es capa' de pausar - reanudar la reproduccin desde un mismo control$ SeekBar5 desde esta &arra a#an'ar - retroceder manualmente por la l*nea de %lu!o de la pel*cula$ StopButton5 detiene la reproduccin - posiciona el ca&e'al de reproduccin al principio del #*deo$ VoIumeBar5 permite el aumento o disminucin del #olumen del #*deo mediante una &arra de #olumen$ Fna #e' a.adidos los componentes necesarios al Escenario tendr1s ue darle un nom&rede instancia - lue,o escri&ir lo si,uiente (dependiendo de los controles ue ha-as arrastrado) en el PaneI Acciones del fotograma 15 $i1ideo.play,#tton = $i0otonPlay; $i1ideo.pa#se,#tton = $i0otonPa"sa; $i1ideo.play!a#se,#tton = $i0otonPa"saPlay; $i1ideo.stop,#tton = $i0oton+top; $1ideo.bac-,#tton = $i0otonAtras; 225 $i1ideo..orward,#tton = $i0otonAdelante; $i1ideo.#te,#tton = $i0oton+ilen!io; $i1ideo.vol#e,ar = $i0arra1ol"$en; $i1ideo.see-,ar = $i0arra>esli5adora; $i1ideo.b#..erin,ar = $i0arraProgreso; 8l componente se asociar1 al #*deo - %uncionar1 por s* solo$ F1cil) #erdad? 4uedes modi%icar los componentes ue a.adas al Escenario haciendo do&le clic so&re ellos - cam&iando su %orma) tama.o o color$ 7rear 7ontroles 4ropios
7rear controles propios no es mu- complicado en Flash 8$ Slo tienes ue crear los &otones ue consideres necesarios - utili'ar las propiedades del componente FLVPIayback$ pIay()5 reproduce el #*deo$ $i1ideo.play(); stop()5 detiene el #*deo - #uel#e al inicio$ $i1ideo.stop(); pause()5 detiene el #*deo conser#ando su posicin actual$ $i1ideo.pa"se(); seek(segundo:Number)5 permite el a#ance o retroceso de la pel*cula de #*deo$ 226 $i1ideo.seeM(5); 8sta l*nea colocar1 la ca&e'a lectora en el se,undo O - reproducir1 a partir de ah*$ voIume5 de%ine el #olumen del #*deo$ 4uedes introducir un #alor entre 3 - H33$ $i1ideo.&ol"$e = 50; Fn e!emplo de cmo crear un &otn de 4la-@4ause ser*a asociando el cdi,o si,uiente a un &otn5 on (release) { i( ($i1ideo.state == $i1ideo.PA.+->) { $i1ideo.play(); } else { $i1ideo.pa"se(); } } La propiedad state de#uel#e el estado en el ue se encuentra nuestro #*deo en el momento) puede tomar los si,uientes #alores5 miVideo.PAUSED5 el #*deo se encuentra pausado$ miVideo.PLAYING5 el #*deo se est1 reproduciendo$ miVideo.REWINDING5 el #*deo est1 en estdo de re&o&inado$ miVideo.SEEKING5 el #*deo est1 en estado de &>sueda$ miVideo.STOPPED5 el #*deo se encuentra detenido$ miVideo.BUFFERING5 el #*deo toda#*a se est1 almacenando en el &u%%er$ miVideo.CONNECTION_ERROR5 se ha producido un error de cone"in - el #*deo no podr1 #isuali'arse$ miVideo.DISCONNECTED5 el #*deo est1 en estado de descone"in$ 8ste estado se producir1 hasta ue se le asi,ne una ruta a la propiedad contentPath$ miVideo.LOADING5 el #*deo est1 en estado de car,a$ 227 Ahora #eremos como interactuar con los puntos de re%erencia ue ha-amos creado$ 8n el e!emplo hemos creado 2 &otones ue de&er1n saltar a los tres puntos di%erentes ue hemos creado5 inicio) carrera1 - carrera1$ 8l cdi,o asociado al &otn ser*a el si,uiente5 on (release) { $i1ideo.seeM?o3a&%"ePoint(ini!io); $i1ideo.play(); } 8ste tro'o de cdi,o utili'a la %uncin seekToNavCuePoint para &uscar el punto de re%erencia ue se le indiue) lue,o tendremos ue decirle ue reanude la reproduccin$ 6am&in puedes utili'ar las %unciones seekToNextNavCuePoint() - seekToPrevNavCuePoint() para a#an'ar - retroceder) respecti#amente) por los di%erentes puntos de re%erencia de na#e,acin creados$ $i1ideo.seeM?o3eBt3a&%"ePoint(); $i1ideo.seeM?oPre&3a&%"ePoint(); Unidad 22. /*deo (I/)$ Interaccin de /*deo - 8lementos 8"ternos
7omo #imos antes) pod*amos crear puntos de re%erencia de Eventos para pasar par1metros a nuestra pel*cula desde la reproduccin del #*deo$ Su uso no es mu- complicado) de&eremos crear un escuchador ue est pendiente de los puntos de re%erencia ue se #a-an reproduciendo en el #*deo de la si,uiente %orma5 &ar e&entos1ideo/J'*e!t = new J'*e!t(); e&entos1ideo.!"ePoint = ("n!tion(p"ntoYe(/J'*e!t)/1oid { i( (p"ntoYe(.in(o.para$eters.length I 0) { $ensa*e.gotoAndPlay(p"ntoYe(.in(o.para$eters6(otogra$a7); 228 } } $i1ideo.add-&ent8istener(!"ePoint# e&entos1ideo); 0e esta %orma cuando se encuentre con un punto de re%erencia e#aluar1 si tiene par1metros con la propiedad5 p"ntoYe(.in(o.para$eters.length Si es as*) sacamos la in%ormacin del par1metro llam1ndolo por su nom&re - actuamos en consecuencia$ 8n el e!emplo hemos creado un clip de pel*cula ue se llama )ensa7e$ 7uando se #an produciendo determinados e#entos en el #*deo #amos mo#iendo el ca&e'al de reproduccin de dicho clip - as* creamos una #inculacin entre am&os) el clip - el #*deo$ Si escri&ieses lo si,uiente te de#ol#er*a al PaneI SaIida el nom&re del punto de re%erencia$ tra!e(p"ntoYe(.in(o.na$e); 8!ercicios del 6ema :: 4rue&a e#aluati#a del 6ema ::$ Unidad 23. Aue,os (I)$ Introduccin
8n este tema #eremos los elementos &1sicos ue necesitaras a la hora de crear !ue,os con Flash5 el movimiento) los choques) la rotacin) creacin aIeatoria de elementos) etc$ A medida ue a#ancemos en el tema iremos haciendo re%erencia a este !ue,o ue hemos creado como e!emplo$ 4ero) primero empe'aremos por lo &1sico$ Mane!ando 8lementos
229 7uando tra&a!emos con o&!etos necesitaremos acceder a al,unas caracter*sticas &1sicas) como por e!emplo su anchura - aItura o su posicin en el Escenario$ 4odemos modi%icar el tama.o del o&!eto utili'ando las propiedades _width) _height) _xscaIe e _yscaIe$ Las dos primeras (_width - _height) modificarn o devoIvern Ia anchura y aItura) respecti#amente) en p*"eles del o&!eto re%erenciado) por tanto) podemos cam&iar el tama.o de un clip escri&iendo lo si,uiente5 $i%lip._width = 100; $i%lip._height = 200; Las propiedades _xscaIe e _yscaIe cam&ian el tama.o) pero de forma porcentuaI$ 4odemos utili'ar estas propiedades para hacer un clip el do&le de ,rande ue era) por e!emplo5 $i%lip._width = 100; $i%lip._height = 100; $i%lip._Bs!ale = 200; $i%lip._ys!ale = 200; Har1 ue el clip tome el tama.o de 100#4 de aIto - 100#4 de ancho) aunue su #isuali'acin sea del dobIe (1008)$ 4odr*amos de#ol#er sus dimensiones a su estado real escri&iendo5 $i%lip._Bs!ale = 100; $i%lip._ys!ale = 100; 6am&in podemos a#eri,uar o modi%icar la posicin de un o&!eto) &asta con tra&a!ar con sus propiedades _x e _y5 $i%lip._B = 50; $i%lip._y = 150; posi!ion>e%lip)ori5ontal = $i%lip._B; 230 posi!ion>e%lip1erti!al = $i%lip._y; Kecuerda ue estas propiedades tra&a!an con p*"eles$ 0e esta %orma podemos mo#er el o&!eto de una %orma mu- %1cil) por e!emplo para hacer ue se despIace hacia Ia derecha deI Escenario de&er1s escri&ir5 $i%lip._B = $i%lip._B D 1; Ftili'ando estas propiedades - com&in1ndola con las caracter*sticas de los Mo#ieclips podemos recrear de %orma m1s natural el mo#imiento$ /eamos este e!emplo5 Au* hemos creado un clip de pel*cula con tres posiciones) parado) i'uierda - derecha5 As*) podemos llamar mediante la instruccin gotoAndStop() a uno de los %oto,ramas del clip para ue se muestre dicha posicin - d m1s realismo al mo#imiento$ 8l cdi,o ue hemos incluido en la pel*cula es el si,uiente5 231 &ar i5,"ierda/0oolean = (alse; &ar dere!ha/0oolean = (alse; $i%lip.gotoAnd/top(parado); $i%lip._B = 10; $i%lip.onPress = ("n!tion() { i( ($i%lip._B P= 10) { $i%lip.gotoAnd/top(dere!ha); dere!ha = tr"e; } i( ($i%lip._B I= ;T5) { $i%lip.gotoAnd/top(0i5,"ierda); i5,"ierda = tr"e; } } _root.on-nter2ra$e = ("n!tion() { i( (dere!ha) { i( ($i%lip._B P ;T5) { $i%lip._B = $i%lip._B D =; } else { $i%lip.gotoAnd/top(0parado); dere!ha = (alse; } } i( (i5,"ierda) { i( ($i%lip._B I 10) { 232 $i%lip._B = $i%lip._B G =; } else { $i%lip.gotoAnd/top(0parado); i5,"ierda = (alse; } } } C&ser#a cmo hemos utili'ado au* la %uncin onEnterFrame$ =os #alemos de ella para crear el mo#imiento) de esta %orma hacemos que Ia coordenada x deI objeto se incremente cada vez que entre en eI fotograma de nuevo$ /eremos esta %uncin con m1s detalle en el tema :;$ Hemos utili'ado las #aria&les derec"a e iz:(ierda (de tipo booIeano) para e#aluar si el o&!eto de&e despla'arse$ 8n el e#ento onEnterFrame cheueamos estas #aria&les - si est1n a tr(e comen'amos el mo#imiento hasta la posicin ue ueramos$ A medida ue #a-amos a#an'ando en el tema #eremos m1s %unciones - mtodos ue nos permitir1n acciones m1s #ers1tiles - a!ustadas a nuestras necesidades$ Ctra %orma de modi%icar la apariencia del o&!eto con el ue tra&a!amos es utili'ando la propiedad _rotation$ 8sta propiedad act>a so&re el o&!eto rotndoIo tantos grados como especi%iues respecto a su posicin ori,inal$ 4or e!emplo5 $i%lip_rotation = T0; 8sta l*nea har1 ue el o&!eto rote R3 ,rados en eI sentido de Ias agujas deI reIoj$ 4ara rotar un o&!eto hacia el lado contrario &asta con a.adirle un si,no menos (-) antes del 1n,ulo5 $i%lip._rotation = GT0; 233 4ara de#ol#er al o&!eto a su posicin ori,inal slo tendr1s ue escri&ir la si,uiente l*nea5 $i%lip._rotation = 0; As* la rotacin ue act>a so&re el o&!eto es nula - se muestra en su posicin ori,inal$ Kecuerda ue para ue las rotaciones pare'can reales de&er1s posicionar el o&!eto dentro del clip en el centro a&soluto) para ue as* la re%erencia del clip se encuentre en la posicin adecuada$ C&ser#a la di%erencia entre estos dos clips5 8n am&os la rotacin se aplicar1 respecto al punto de re%erencia) por lo ue en la edicin de ste de&er1s utili'ar los &otones - del PaneI AIinear (Ventana Q AIinear) para centrar el o&!eto respecto al punto de re%erencia del clip$ Keali'a el paso a paso de rotacin para #er me!or como %unciona$ Unidad 23. Aue,os (II)$ J>sueda 8l pro&lema ahora se nos plantea cuando ueremos ue el o&!eto se oriente hacia unas coordenadas en concreto$ 7mo calculamos el 1n,ulo necesario para ue nuestro elemento se oriente hacia otro situado en las coordenadas H33) :33? La solucin no es mu- complicada5 de&eremos echar mano de la tri,onometr*a$ 234 8n Flash tenemos una %uncin mu- >til ue nos a-uda a encontrar 1n,ulos r1pidamente$ Ftili'ando la %uncin Math.atan2 recuperaremos eI nguIo formado por unas coordenadas en eI espacio respecto a un punto centraI$ /eamos un e!emplo5 8scri&iendo la si,uiente l*nea recuperaremos el 1n,ulo ue &uscamos5 &ar ang"lo = 4ath.atan2(B# y); Ahora #eamos las tres consideraciones ue tenemos ue tener en cuenta$ C&ser#a este e!emplo5 235 Lo primero a tener en cuenta es ue las coordenadas ue tenemos del punto al ue ueremos orientar el o&!eto no est1n en relacin ste$ 4odemos a#eri,uarlas de %orma mu- %1cil haciendo una peue.a con#ersin restando Ias coordenadas entre s5 Ahora -a podemos emplear la %uncin atan25 &ar ang"lo = 4ath.atan2(B 1 G B 2 # y 1 G y 2 ); Lo se,undo ue tendremos ue sa&er es ue esta %uncin de#uel#e un 1n,ulo medido en eI sentido contrario a Ias agujas deI reIoj) es decir5 4or tanto si decimos a nuestro o&!eto que se oriente -30 grados se colocar1 de esa %orma5 236 =uestro o&!eto se encuentra en otro cuadrante completamente di%erente) pero si o&ser#amos con atencin) Ia diferencia siempre ser de 905 Slo tenemos ue sumarIe 90 aI nguIo resuItante para ue el o&!eto se oriente hacia el lu,ar correcto$ As* ue podemos sol#entaremos esto son una sola l*nea$ 4ero antes convertiremos eI nguIo resuItante en radianes a grados5 &ar grados/3"$'er = 4ath.ro"nd(ang"loZ1S0A4ath.PC); $i%lip._rotate = grados D T0; 0esde lue,o la suma ue hemos reali'ado es consecuencia directa de que eI objeto este orientado iniciaImente haca arriba (- empiece a contar los ,rados desde ese punto en 3)$ Si partisemos de un estado ori,inal hori'ontal como el des%ase del o&!eto -a se encuentra a R3 ,rados no har1 %alta reali'arlo5 237 C&ser#a ue en este caso si ,iramos el o&!eto D23 ,rados se colocar1 orientado hacia la posicin ue &uscamos$ C incluso) si al contrario) el o&!eto se encuentra orientado hacia Ia izquierda de&eremos sumarle H83a$ 7omo #es) todo depender1 de la posicin ori,inal del o&!etos (- de ue #rtice uieras orientar)$ Lo ms aconsejabIe en este caso es ue los o&!etos ue #a-an a rotar estn orientados hacia Ia derecha) as* no tendr1s ue preocuparte del des%ase del 1n,ulo$ Unidad 23. Aue,os (III)$ J>sueda Ctra de las tcnicas ue nos ser1 mu- >til es la carga y descarga de eIementos existentes en Ia bibIioteca$ 8sto lo haremos con la %uncin attachMovie$ 6iene la si,uiente sinta"is5 this.atta!h4o&ie(si$'olo# no$'reCnstan!ia# ni&el# op!iones); 238 4ara poder incluir un clip en el escenario antes debers vincuIarIo para poder acceder a I desde ActionScript$ 4uedes hacerlo haciendo clic derecho so&re el elemento en la BibIioteca$ Selecciona VincuIacin$ 8n la #entana ue se a&rir1 ha' clic so&re Exportar para ActionScript - dale un nombre al cual te podr1s re%erir cuando lo car,ues con attachMovie()$ 8n la primera #aria&le de&eremos introducir eI nombre deI objeto tal - como lo escri&imos en la #inculacin$ La #aria&le no),re@nstancia almacenar1 el nombre de instancia al cual podremos re%erirnos m1s tarde para acceder a las propiedades - mtodos del o&!eto creado$ 8l ni<el ue indiuemos con%i,urar1 el estado de profundidad deI cIip$ 0e esta %orma podr1s colocar unos archi#os encima de otros - decidir cual se encontrar1 en un ni#el superior o in%erior $ Si #as a a.adir elementos aleatoriamente es aconse!a&le ue utilices un contador de ni#eles (- #a-as increment1ndolo cada #e' ue a.adas un elemento) para asociar cada elemento a un ni#el) pues si car,as dos elementos en un mismo ni#el se descar,ar1 el -a e"istente$ 8n la #aria&le o#ciones podr1s iniciaIizar eI objeto con Ias propiedades definidas desde un inicio) de&er1s introducirlas entre lla#es {} - separadas por comas$ 8ste par1metro es opcionaI$ this.atta!h4o&ie(o'*eto# $i%lip# 5# {_B/0# _y/0}); 4ara eliminar clips insertados mediante attachMovie puedes utili'ar removeMovieCIip() o unIoadMovie()5 239 $i%lip.re$o&e4o&ie%lip(); 6am&in podemos utili'ar otra %uncin ue incorpora Flash llamada dupIicateMovieCIip()$ 8sta %uncin dupIica un cIip ya existente en eI Escenario) creando un nue#o con un nombre de instancia personali'ado$ Su sinta"is es la si,uiente5 d"pli!ate4o&ie%lip(o'*eto>"pli!ar# n"e&o3o$'re# ni&el); 0e&er1s escri&ir el nombre deI cIip a dupIicar en el primer par1mentro) lue,o selecciona un nombre de instancia para el nue#o clip - esco,e un niveI de carga$ Los mo#ieclips car,ados con esta %uncin tam&in se podr1n eliminar con las %unciones removeMovieCIip() - unIoadMovie()$ Keali'a el paso a paso de 7ar,a de C&!etos para practicar me!or estas %unciones$ Unidad 23. Aue,os (I/)$ J>sueda Interaccin del Mouse
/eamos ahora cmo interactuar con el ratn - el Escenario - sus elementos$ 8mpe'aremos #iendo una de las %unciones m1s >tiles para el ratn5 arrastrar y coIocar$ Ftili'ando las %unciones StartDrag() - StopDrag() es mu- sencillo arrastrar - colocar o&!etos por el Escenario) para ello de&er1s introducir slo dos e#entos de clip en el o&!eto a arrastrar5 8n el e#ento press (cuando a>n no se ha soltado el &otn del ratn) comen'aremos el arrastre5 on (press) { start>rag(this); } 240 M1s tarde en el e#ento reIease (cuando se suelta el &otn)) detendremos el arrastre - el o&!eto uedar1 colocado en el sitio ue de%ini el &otn5 on (release) { stop>rag(); } La %uncin startDrag permite #arios par1metros5 start>rag(o'*etoArrastar# 'lo,"ea%entro# i5,"ierda# arri'a# dere!ha# a'a*o); 8n ,lo:(e=entro podr1s pasarle un #alor (tr(e o 2alse) ue indicar1 si el arrastre se reali'ar1 desde eI centro deI cIip o desde eI punto donde hizo cIic eI usuario$ 8l resto de #aria&les te permitir1 de%inir mediante coordenadas un espacio acti#o donde se podr1 reali'ar el arrastre$ 8sta opcin es mu- >til cuando ueremos ue el arrastre slo se pueda reali'ar so&re una 'ona determinada) como por e!emplo las ti'as de las &arras de despla'amiento) ue no se pueden arrastrar %uera de la 'ona rectan,ular ue delimitan dichas &arras$ Fna propiedad mu- >til ue tam&in te ser1 de mucha a-uda es la de _droptarget$ 6e permitir1 averiguar sobre qu eIemento se ha soItado eI objeto arrastrado5 on (release) { stop>rag(); tra!e(this._droptarget); } 8ste cdi,o de#ol#er1 al PaneI SaIida el nom&re de instancia del o&!eto so&re el cual se ha soltado$ Si el o&!eto no tu#iese uno de#ol#er*a el nom&re ,enrico instanciai) donde i es un n>mero de orden de o&!etos a.adidos al Escenario$ Keali'a el paso a paso de Arrastre - Crientacin de o&!etos para practicar conceptos ue hemos #isto hasta ahora$ 241 Ctra cosa ue nos ser1 de ,ran a-uda ser1 poder IocaIizar Ia posicin deI ratn$ 0e este modo podr*amos hacer ue los o&!etos se desplacen u orienten hacia el ratn 4ara a#eri,uar las coordenadas del ratn slo tendr1s ue recurrir a las propiedades _xmouse e _ymouse5 &ar !oordenadaN/3"$'er = _B$o"se; &ar !oordenadaW/3"$'er = _y$o"se; F1cil) #erdad? 7on todo lo ue hemos aprendido podemos -a sustituir eI cursor deI Mouse normaI por uno de nuestro agrado$ 4ara ello tienes ue escri&ir mu- pocas l*neas5 this.atta!h4o&ie(!"rsor# $i%"rsor# 500); 4o"se.hide(); &ar es!"!hador/J'*e!t = new J'*e!t(); es!"!hador.on4o"se4o&e = ("n!tion() { $i%"rsor._B = _B$o"se; $i%"rsor._y = _y$o"se; } 4o"se.add8istener(es!"!hador); 8n el cdi,o insertamos un o&!eto llamado )i=(rsor ue ser1 una instancia del clip c(rsor ue ha&remos ,uardado en la Jilioteca$ Escondemos eI cursor$ E a.adimos un 242 esc(c"ador ue ha,a ue el clip )i=(rsor se posicione en el lu,ar del Mouse a cada mo#imiento de ste$ 7omo #es una de las pocas cosas nue#as introducidas au* es el uso de la %uncin hide() del ratn$ In#oc1ndola haces ue el Mouse desapare'ca$ 4uedes #ol#er a #isuali'ar el ratn escri&iendo5 4o"se.show(); Unidad 23. Aue,os (/)$ J>sueda Interaccin del 6eclado
4odemos a.adir a nuestras pel*culas interaccin con las teclas pulsadas) el procedimiento es mu- sencillo) &asta con utili'ar la %uncin isDown del o&!eto Key5 i( Key.is>own(Key..P) { AA$o&er ha!ia arri'a } 7omo alternati#a puedes utili'ar un escuchador para el teclado - #er qu tecIas son puIsadas en cada momento accediendo a ellas a tra#s de la %uncin Key.getCode()5 &ar es!"!hador/J'*e!t = new J'*e!t(); es!"!hador.onKey>own = ("n!tion() { swit!h (Key.get%ode()) { !ase 1ey./!A23 / AAdisparar 'reaM; !ase 1ey.&3'4 / AA$o&er ha!ia la i5,"ierda 'reaM; 243 !ase 1ey.5! / AA$o&er ha!ia arri'a 'reaM; !ase 1ey.678"4 / AA$o&er ha!ia la dere!ha 'reaM; !ase 1ey.9:;< / AA$o&er ha!ia a'a*o 'reaM; } } Key.add8istener(es!"!hador); Aunue depende siempre de la %uncin ue uieras ue realicen tus teclas) a #eces es m1s >til un mtodo ue otro$ Los cdi,os de las teclas son &astante sencillos) las %lechas UP) DOWN) RIGHT - LEFT< la &arra espaciadora SPACE< - las teclas especiales SHIFT) CONTROL) TAB) CAPSLOCK) ESCAPE) ENTER) BACKSPACE) INSERT) DELETEKEY) HOME) END) PGDN - PGUP$ 8n el e!emplo anterior utili'1&amos el ratn para mo#er el clip) ahora podemos usar las teclas5 8l cdi,o ue hemos incluido es mu- parecido al anterior) solamente hemos cam&iado los e#entos por los cuales se dispara el despla'amiento5 on-nter2ra$e = ("n!tion() { i( (Key.is>own(Key.678"4)) { 244 $i%lip._rotation = 10; i( ($i%lip._B P 515) { $i%lip._B = $i%lip._B D 3; } else { $i%lip._rotation = 0; } } else i( (Key.is>own(1ey.&3'4)) { $i%lip._rotation = G10; i( ($i%lip._B I 30) { $i%lip._B = $i%lip._B G 3; } else { $i%lip._rotation = 0; } } else { $i%lip._rotation = 0; } } 7omo #es en el e!emplo se e#al>a cada #e' ue entra en el %oto,rama) por lo ue Ias funciones de Ia presin continuada de una tecIa se ven cubiertas$ Unidad 23. Aue,os (/I)$ Interaccin entre 8lementos
Fna de las cosas ue m1s nos interesar1 reali'ar es el choue entre elementos en el Escenario) - -a no el choue %*sico en s*) sino Ia coincidencia de dos eIementos en un mismo espacio$ 245 8sto lo podremos e#aluar - tratar con la %uncin hitTest()$ Su uso tiene dos posi&ilidades) am&as mu- sencillas$ 4uedes e#aluar si en un punto en concreto se encuentra un o&!eto espec*%ico (mu- >til para detectar los clics del ratn o donde se encuentra en cada momento)5 &ar es!"!hador/J'*e!t = new J'*e!t(); es!"!hador.on4o"se>own = ("n!tion() { i( ($i%lip.hit?est(_B$o"se#_y$o"se) { AA!oin!iden!ia } } 4o"se.add8istener(es!"!hador); 8ste cdi,o e#al>a la posicin del ratn a cada clic) si las coordenadas introducidas en la si,uiente l*nea coinciden con el 1rea de )i=li# se produce colisin5 $i%lip.hit?est(_xo#se# _yo#se); 7uando utili'amos esta %uncin pas1ndole unas coordenadas podremos a.adirle un par1metro5 2or)aE,7eto$ 8ste par1metro tomar1 #alor true si ueremos ue se detecte la colisin con la %orma de la instancia) o faIse si ueremos ue se e#al>e con sus &ordes rect1n,ulares de o&!eto$ La %uncin) entonces) tomar*a la si,uiente %orma5 $i%lip.hit?est(!oorN# !oorW# .ora:b+eto); 0onde 2or)aE,7eto decidir1 si se toma o no la %orma completa del clip )i=li#$
6am&in podemos #er si dos o&!etos chocan entre s* d1ndole un target a la %uncin en #e' de unas coordenadas$ 8n ese caso tendr*amos5 &ar !olision/0oolean = $i%lip.hit?est($i%lip2); 246 8n este caso hemos almacenado en la #aria&le colisin el #alor de la e#aluacin de solapamiento o corte entre la posicin de )i=li# - )i=li#1$ 8sta l*nea tendr*a su homlo,o en5 &ar !olision/0oolean = $i%lip2.hit?est($i%lip); 4ues am&as reali'an la misma accin al &uscar coincidencias entre los mismos o&!etos$ 8n despla'amientos utili'aremos mucho esta opcin para a#eri,uar si el o&!eto ue estamos mo#iendo choca con una pared u otro o&!eto$ 6en en cuenta ue la posicin ue de&eremos evaIuar si hace coIisin con Ia pared de&e ser aqueIIa que adoptara eI objeto despus de despIazarse$ 8sto complica un poco las cosas) pues de&eremos utili'ar la primera sinta"is de la %uncin5 $iPared.hit?est(!oorN(inal_%lip# !oorW(inal_%lip); 4ero) cmo conocemos las coordenadas de una %orma?) cmo a#eri,uo el punto m1"imo ue alcan'a en la esuina a&a!o derecha?$ La respuesta a esta se,unda pre,unta es &astante sencilla) de&o a#eri,uar la coordenada mxima de Ias x (para conocer su ancho mximo) - lo mismo para las y (para conocer su aItura mxima)$ Ftili'aremos para ello la %uncin getBounds()$ 8sta %uncin tra&a!a de la si,uiente %orma5 $i%lip.get0o"nds($o&ie!lip); 0onde en )o<iecli# escri&iremos Ia ruta de destino de la l*nea de tiempo cuyo sistema de coordenadas utiIizaremos como punto de referencia$ =ormalmente escri&iremos +root) para ue las coordenadas dadas sean respecto a la pel*cula en ,eneral - no so&re un clip en particular$ Mediante esta %uncin podremos acceder a las 4 mnimas y mximas) - lo mismo para las y$ Slo de&er1s escri&ir lo si,uiente5 $i%lip.get0o"nds(_root).B4in; 247 $i%lip.get0o"nds(_root).B4aB; $i%lip.get0o"nds(_root).y4in; $i%lip.get0o"nds(_root).y4aB; Keali'a el paso a paso de 7olisin - Mo#imiento para practicar este concepto Unidad 23. Aue,os (/II)$ Funciones A#an'adas
6am&in #eremos otras opciones ue nos a-udar1n mucho a la hora de crear !ue,os$ Fna de ellas es la de la posi&ilidad de darle aIeatoriedad a Ios componentes$ 4odemos utili'ar la %uncin ue incorpora Flash Math.random() ue devueIve un nmero pseudo-aIeatorio entre 1 y 0$ Su uso es simple slo de&er1s escri&ir5 &ar $i3"$ero/3"$'er = 4ath.rando$(); Su uso es tan >til ue a ra*' de esta %uncin se ha creado este tro'o de cdi,o ue casi utili'ar1s en la ma-or*a de tus pel*culas ue conten,an componentes aleatorios5 ("n!tion randYange($in3"$/3"$'er# $aB3"$/3"$'er)/3"$'er { ret"rn (4ath.(loor(4ath.rando$()Z($aB3"$G$in3"$D1))D$in3"$); } 8sta %uncin te devueIve un nmero aIeatorio entre dos nmeros5 &ar $i3"$ero/3"$'er = randYange(1# 100); 8n este e!emplo se almacenar1 un n>mero de 1 a 100 en la #aria&le )iF()ero$ 248 8n el !ue,o de e!emplo ue estamos #iendo hemos utili'ado esta %uncin para ,enerar la ca*da de pro-ectiles5 &ar rando$Proye!til/3"$'er = rand6ange(1# 3); &ar $iProye!til/4o&ie%lip = this.atta!h4o&ie(proye!tilDrando$Proye!til# proye!tilDpro("ndidad# pro("ndidad); pro("ndidadDD; $iProye!til._y = G$iProye!til._width; &ar s!ale/3"$'er = rand6ange(S0# 100); $iProye!til._Bs!ale = s!ale; $iProye!til._ys!ale = s!ale; $iProye!til._alpha = s!ale; $iProye!til.speed = &elo!idadDrand6ange(0# 3)Dle⪙ $iProye!til._B = rand6ange(10# 5;0); 7omo #es tenemos randomi'ados muchos de los procesos$ 8l primer randRange decide u tipo de pro-ectil se lan'ar1$ 8l se,undo nos da el tama.o (_xscaIe e _yscaIe) - la transparencia ue tendr1$ 8l trecer n>mero aleatorio se lo asi,naremos a la #elocidad$ E por ultimo utili'amos un cuarto randRange para posicionar el pro-ectil en una coordenada x de la pantalla$ 0e esta %orma hemos lo,rado un a&anico de posi&ilidades mu- amplio en posi&ilidades de pro-ectiles$ Ctra de las %unciones ue te #endr1n mu- &ien es la de dotar de veIocidad a Ios movimientos de Ios objetos$ C&ser#a el cdi,o ue hemos introducido en el !ue,o5 $iProye!til.speed = velocidadDrandYange(0# 3)Dlevel; 249 Hemos creado una #elocidad inicial - le hemos sumado una aleatoria para cada elemento) lue,o lo hemos asociado a una propiedad s#eed ue hemos a.adido al elemento$ 0e hecho) a esa veIocidad se Ie suma Ia que tiene eI niveI deI juego que va aumentando a medida que se van eIiminando proyectiIes$ 0e ah* ue cuando asi,namos el mo#imiento del elemento5 this._y D= this.speed; Lo hacemos refirindonos a Ia veIocidad) as* podemos #ariarla en cualuier momento aument1ndola o reducindola se,>n nuestros propsitos$ 4or >ltimo #eremos al,o ue nos permitir1 mostrar informacin a Ios usuarios para ue ellos ten,an conocimiento de cmo se est1 desarrollando la partida$ 8sto lo haremos con los textFieIds$ Los te"tFields pueden ser elementos ue ha-amos creado antes de pu&licar la pel*cula) as* ue no tendremos pro&lemas con ellos$ Simplemente los declararemos como te"to dinmico e iremos modi%icando su contenido$ 4ero) E si ueremos crear un campo de texto mediante ActionScript? Mu- sencillo) te &astar1n unas pocas l*neas para conse,uirlo5 &ar $i2or$ato/?eBt2or$at = new ?eBt2or$at(); $i2or$ato.'old = tr"e; $i2or$ato.(ont = Arial; $i2or$ato.si5e = 12; $i2or$ato.!olor = 0B222222; $i2or$ato.align = le(t; this.!reate?eBt2ield(estadisti!as_tBt# 5000# 10# 0# 530# 22); estadisti!as_tBt.set3ew?eBt2or$at($i2or$ato); estadisti!as_tBt.sele!ta'le = (alse; estadisti!as_tBt.ta'+tops = 6100# 200# 300# ;007; 8ste es el cdi,o ue hemos utili'ado en el !ue,o$ 250 4uedes #er ue hemos creado un o&!eto llamado )iFor)ato con unas caractersticas bsicas ue podremos aplicar so&re cualuier te"to de nuestra pel*cula$ Lue,o mediante la %uncin createTextFieId hemos creado el campo$ /eamos cual es su sinta"is5 !reate?eBt2ield(no$'reCnstan!ia# pro("ndidad# !oordenadaN# !oordenadaW# an!h"ra# alt"ra); 7omo puedes #er) otra #e' nos encontramos con los ni#eles ue utili'1&amos con la %uncin attahMovie$ Simplemente ase,>rate de ue no repites el ni#el - todo ir1 &ien$ Ahora slo har1 %alta remitirse a la propiedad text del te"to ue hemos creado para darle un #alor) - el te"to se mostrar1 en pantalla5 estadisti!as_tBt.teBt = -stas son las estadFsti!as del *"ego; Las propiedades de %ormato de te"to ue hemos utili'ado son las m1s comunes) si necesitas un listado completo de ellas puedes #isitar nuestra seccin a#an'ada$ 8!ercicios del 6ema :2 4rue&a e#aluati#a del 6ema :2$ Unidad 24. Animaciones a#an'adas (I) Mo#imiento de o&!etos mediante ActionScript
4ara poder mo#er o&!etos con ActionScript de&emos conocer el sistema de coordenadas utili'ado por Flash$ La esquina superior izquierda es la posicin x=0, y=0$ (#er la ima,en) 4ara mo#er un o&!eto de&emos modi%icar su posicin de%inida por las propiedades o,7eto$_x - o&!eto$_y 4or e!emplo) si hacemos o,7eto$_x ?. 10 estamos despla'ando el o&!eto 10 pxeIes hacia Ia derecha$ /amos a #er como mo#er un o&!eto a partir de este e!emplo de una &ola &otando$ 251 8l al,oritmo es mu- sencillo) se trata de ir modificando Ia posicin de Ia boIa desde una posicin iniciaI para que vaya bajando hasta que IIegue aI sueIo) en ese momento invertimos eI movimiento para ue su&a - calculamos hasta donde tiene ue su&ir$ As* sucesi#amente hasta ue de!e de &otar$ 4ara ue la &ola &a!e de&emos sumar una cantidad a la coordenada y) - para ue su&a de&emos restarle una cantidad$ Si ueremos ue la &ola se #a-a despla'ando hacia la derecha de&emos sumar una cantidad a la coordenada x$ 7uando la &ola baja) se,>n el esuema de la derecha) pasa de la posicin (" H ) - H ) a la posicin (" : ) - : )) para ello se incrementa la x con el #alor incre+4 (ue estaria representado por la l*nea a'ul) - se incrementa la y con el #alor incre+y (ue estaria representado por la l*nea ro!a)$ 7uando la &ola sube) la >nica di%erencia es ue la coordenada y #a disminu-endo en lu,ar de aumentando) se,>n el esuema de la derecha) al su&ir se pasa de la posicin ("[ H ) -[ H ) a la posicin ("[ : ) -[ : )) para ello se incrementa la x con el #alor incre+4 (ue estaria representado por la l*nea a'ul) - se decrementa la y con el #alor incre+y (ue estaria representado por la l*nea ro!a) 252 /amos a #er lo m1s importante del cdi,o ActionScript ue tenemos un poco m1s a&a!o$ Hemos de%inido creado una &ola a'ul - la hemos con#ertido en un mo#ieclip) la instancia se llama ,ola+)c$ Inicialmente la &ola esta en la posicin (boIa_mc._xY 3)boIa_mc._yY 3) Mediante la #aria&le ,a7a) sa&remos si la &ola esta &a!ando o su&iendo$ 7uando la coordenada y lle,a al suelo) la &ola pasar1 a su&ir) cuando la coordenada y lle,ue al tope la &ola comen'ar1 a &a!ar$ 8n cada &ote la &ola ira perdiendo %uer'a - el &ote sera m1s &a!o) la #aria&le elasticidad determinar1 esta perdida de potencia$ 7ada #e' ue la &ola lle,a al tope calculamos el nue#o tope) para ello calculamos la distancia de la &ola al suelo) la di#idimos por la elasticidad - esa cantidad se la sumamos al tope$ 8n el esuema) Ia Iinea naranja representa esa cantidad ue le sumamos al to#e 1 para pasar al to#e 1$ Ea tenemos nuestro cdi,o casi preparado) ahora slo %alta hacer ue el proceso se repita un n>mero determinado de #eces$ 8sta pel*cula Flash slo tiene un %oto,rama$ 7mo hacemos esto? Lo primero ue se nos ocurre es incluir una instruccin &"ile ''' o una instruccin 2or ''' ) si lo hacemos #eremos ue no %uncionar1 porue la repeticin es tan r1pida ue no da tiempo a #er nada$ La solucin est1 en introducir una instruccin ue ha,a ue el proceso se repita 253 cada 35 miIisegundos$ 8sto lo #amos a #er en el punto si,uiente$ Hemos colocado un &otn en la pel*cula de %orma ue cada #e' ue se pulsa) se detine la e!ecucin (si toda#*a no ha&*a aca&ado) - se lan'a una nue#a e!ecucin$ 7uando el tope lle,a al suelo se detine la e!ecucin$ on (release) { &ar 'a*a/0oolean = tr"e; &ar in!re_B/3"$'er = 3.5; &ar in!re_y/3"$'er = S; &ar s"elo/3"$'er = 2S0; &ar tope/3"$'er = 0; &ar elasti!idad/3"$'er = 3; 'ola_$!._y = 0; 'ola_$!._B = 0; tope D= (s"elo G bola_c._y) A elasti!idad; &ar repeti!ion/3"$'er; ("n!tion 'otar() { i( ('a*a) { // baja bola_c._y D= in!re_y; bola_c._x D= in!re_B; i( (bola_c._yI=s"elo) { 'a*a = (alse; } } else { // sube bola_c._y G= in!re_y; bola_c._x D= in!re_B; i( (bola_c._yP=tope) { 'a*a = tr"e; i( (topeI=s"elo) { 254 in!re_y = 0; !learCnter&al(repeti!ion); } tope D= (s"elo G bola_c._y) A elasti!idad; } } } !learCnter&al(repeti!ion); repeti!ion = setCnter&al('otar# 35); } 8n este sencillo e!emplo la tra-ectoria de la &ola es rectil*nea) para ue %uese un mo#imiento m1s real de&er*a se,uir una tra-ector*a cur#a$ 0i&u!ar cur#as es un poco m1s complicado ue di&u!ar rectas$ Flash nos o%rece una opcin m1s sencilla para hacer ue un o&!eto si,a una tra-ectoria cur#a5 Ias guas de movimiento ue #eremos en este mismo tema aplicadas al &ote de una pelota$
0e todas %ormas si deseas pro&ar suerte con las cur#as - ActionScript reali'a el e!ercicio 8spiral para empe'ar a %amiliari'arte Unidad 24. Animaciones a#an'adas (II) Funcin setInter#al - propiedad on8nterFrame
La %uncin setIntervaI se utili'a cuando ueremos ue se repita Ia ejecucin de un cdigo ActionScript cada cierto nmero de miIisegundos) - la propiedad onEnterFrame se utili'a cuando ueremos ejecutar un cdigo ActionScript en funcin de Ia veIocidad de Ia peIcuIa Flash$ 8stas %unciones se pueden utili'ar para controlar el tiempo cuando utili'amos ActinScript - no nos interesa utili'ar los %oto,ramas como %orma de control del tiempo$ 4or e!emplo) podemos ,enera un o&!eto - hacer ue se mue#a un O pi"els cada 23 ms,$ #ariando estos par1metros conse,uiremos ue el o&!eto se mue#a m1s o menos r1pido$ 255 setIntervaI 8l %ormato de esta %uncin es el si,uiente5 &ar retardo/3"$'er = setCnter&al(("n!tionYe(eren!e/2"n!tion# inter&al/3"$'er# 6para$1/J'*e!t# para$2# ...# para$37); 0onde) 2(nctione2erence es la %uncin ue se #a a repetir$ inter<al es el n>mero de milise,undos ue #an a transcurrir entre cada llamada a la %uncin$ A#ara)1$E,7ect* #ara)1* '''* #ara)FB es la lista opcional de par1metros ue se pasan a la %uncin$ retardo es una #aria&le ue identi%ica el inter#alo - ue sir#e para utili'arlo con cIearIntervaI() para detener la e!ecucin$ 4or e!emplo) el codi,o si,uiente escri&e 10 veces el mensa!e "contador" i ) cada :333 milise,undos (: s,$)$ &ar i/3"$'er = 1; &ar repeti!ion/3"$'er = set7nterval(contar# 2000); ("n!tion contar() { tra!e(!ontador/ D iDD); i( (iI10) { clear7nterval(repeti!ion); } } La %uncion cIearIntervaI sir#e para detener Ia ejecucin de la %uncin llamada desde setIntervaI$ 4or lo tanto) con#iene utili'ar cIearIntervaI siempre ue usemos setIntervaI) para e#itar ue la e!ecucin contin>e inde%inidamente$ 8n el e!emplo del punto anterior hemos de%inido la %uncin ,o&al setIntervaI para ue la %uncin ,otar se e!ecute cada 2O milise,undos$
256 onEnterFrame 8l controlador de e#entos onEnterFrame, asociado al o&!eto MovieCIip) permite invocar a una funcin de forma repetida tantas veces como fotogramas por segundo tenga definida Ia peIcuIa$ 4or e!emplo) en el mo#ie7lip ,ola+)c5 &ar i/3"$'er =0; 'ola_$!.on3nter'rae = ("n!tion() { tra!e(e*e!"tando/ D DDi); i( ( i I 30 ){ delete this.on3nter'rae; } } Si la #elocidad de la pel*cula es de 11 2#s) este cdi,o escri&ir*a en la salida 12 Ineas por segundo) de esta %orma5 e!ecutando5H ejecutando05 ejecutando03 $$$ 7omo puedes #er hemos a.adido una condicin para ue cuando eI vaIor de i sea mayor de 30 aca&e la e!ecucin del controlador onEnterFrame - as* e#itar ue se e!ecute inde%inidamente$ Aunue con este e!emplo no lo pare'ca) (slo pretende e"plicar la %uncin) estas dos tipo de %unciones ue se e!ecutan repetiti#amente pueden ser mu- >tiles en determinadas ocasiones$ A lo lar,o del cursos -a hemos #isto al,unos e!emplos de su utilidad) a continuacin #eremos otro e!emplo ue puede sernos >til$ Ima,*nate ue uieres ue tu pelicula se deten,a durante 2 segundos - lue,o continue$ 8sta es una %orma de hacerlo utili'ando la %uncin setIntervaI$ 257 7olocariamos este cdi,o en el %rame ue deseemos) llamamos a setIntervaI con 1 sg (1000 )ilisg) - cuando se hallan cumplido dos llamadas detenemos setIntervaI - continuamos con el si,uiente %rame de la pel*cula$ &ar tope/3"$'er = 1; &ar repeti!ion/3"$'er = setCnter&al(parar# 1000); ("n!tion parar() { topeDD; i( (tope I 2) { !learCnter&al(repeti!ion); neBt2ra$e(); play(); } } stop(); Unidad 24. Animaciones a#an'adas (III) Mo#imiento de o&!etos mediante ,u*a 8n esta unidad -a hemos #isto como hacer &otar una &ola mediante ActionScript) ahora #amos a recordar una tcnica ue -a #imos en la unidad R) animacin mediante gua de movimiento$ 8n este caso) se trata de imitar el &ote de una pelota) por lo tanto) di&u!amos una cur#a ue imite dicho &ote$ 258 0e esta %orma conse,uiremos una animacin ue resulta m1s natural ue el &ote con tra-ector*a recta ue #imos en el punto anterior$ 8n las im1,enes podr1s #er ue proceso hemos se,uido para di&u!ar el mo#imiento$ La ,u*a la hemos di&u!ando sucesivas curvas de modo ue la pelota in#ite el mo#imiento ue ueremos crear$ 4ara darle ma-or realismo hemos insertado fotogramas cIaves en puntos crticos para achatar Ia peIota - dotarla de eIasticidad$ 259 Ahora podr1s com&inar muchas de las tcnicas ue hemos aprendido para ,enerar al,o as*5 (Ha' clic en la pel*cula - lue,o usa las teclas de mo#imiento a derecha e i'uierda)
Hemos #isto dos tcnicas di%erente para animar un o&!eto en Flash) mediante ActionScript y mediante gua de movimiento$ Se,>n cada caso concreto resultar1 m1s adecuado eli,ir una u otra tcnica$ 8n ,eneral) resulta m1s %1cil - r1pido utili'ar ,u*as de mo#imiento ue ActionScript) so&re todo si el mo#imiento ue tiene ue se,uir el o&!eto es sinuoso - di%icil de de%inir en trminos de una ecuacin matem1tica$ 260 Ha- casos en los ue ser1 m1s adecuado utili'ar ActionScript - otros casos en los ue slo ser1 posi&le crear el mo#imiento mediante ActionScript) por e!emplo) si ueremos ue un o&!eto se mue#a de %orma aleatoria por un escenario$ Unidad 24. Animaciones a#an'adas (I/) J>sueda Animaciones de rostros Fna de las &ases para hacer animaciones de persona!es es la animacin de rostros) en esta peue.a introduccin aprenderemos cmo hacer ue un rostro pase de la risa al en%ado$ 6odos sa&emos ue un rostro sonriente tiene las ce!as) los o!os - la &oca en distinta posicin ue un rostro en%adado$ /amos a #er como con unas sencillas tran%ormaciones de %orma - de color o&tenemos un &uen resultado$ 261 Lo primero ue ha- ue tener en cuenta es di&u!ar los elementos ue tienen ue mo#erse en una capa propia) as* crearemos una capa para la &oca) ce!as) etc$ 0i&u!amos la &oca con herramienta Linea) en el fotograma 1) - creamos un %rame cla#e en el fotograma 17$ 4ara con#ertir la l*nea recta en una cur#a) #ol#emos al fotograma 1 - acti#amos la herramienta SeIeccin - nos ase,uramos de ue la l*nea de la &oca NO este seleccionada$ Ahora acercamos el cursor a la l*nea - cuando apare'ca una peue.a l*nea cur#a de&a!o del cursor hacemos clic - arrastramos hacia a&a!o) asi tendremos una &oca sonriente$ /amos al fotograma 17 - hacemos lo mismo pero arrastrando hacia arri&a para conse,uir una &oca en%adada$ 8s importante ue arrastres desde el centro de la l*nea - en direccin perpendicular para ue uede una cur#a simtrica$ 8n el caso de las ce!as) nos interesa ue la cur#a no sea simtrica - de&eremos arrastrar desde un lateral de la l*nea en lu,ar de desde el centro$ 262 Sencillo) #erdad? Unidad 24. Animaciones a#an'adas (/) Animaciones ,eomtricas en 20 /amos a #er como crear una animacin de una ca!a ,irando en tres dimensiones$ 4ara a&ordar una animacin de este tipo) e#identemente) de&emos conocer como di&u!ar o&!etos en tres dimensiones$ Ha- #arios tipos de perspecti#a ue se pueden utili'ar5 a) perspectiva cabaIIera &) perspectiva isonomtrica - c) perspectiva cnica$ 8studiar perspecti#a no es el o&!eto de este curso por lo tanto no #amos a ser mu- estrictos al hacer los di&u!os - como consecuencia de ello el resultado %inal tampoco #a a ser una animacin per%ectamente realista) pero lo ue tratamos de e"plicar es >nicamente el proceso de animacin$ Se trata de hacer ,irar una ca!a desde una posicin inicial hasta una posicin %ila$ 4ara hacer la animacin de&emos di&u!ar la ca!a en #arias posiciones intermedias$ A continuacin crearemos animaciones de %orma para cada una de las caras #isi&les de la ca!a$ Ha- ue tener en cuenta ue inicialmente la cara de la derecha no es #isi&le) pero se ira haciendo #isi&le se,>n a#ance el ,iro$ 263 Lue,o de&eremos introducir interpolaciones entre las di%erentes posiciones para terminar con un resultado parecido a este5 Unidad 24. Animaciones a#an'adas (/I) Animaciones con mo#imientos comple!os
8"isten multitud de mo#imientos comple!os ue se pueden imitar con animaciones Flash) es e#idente ue no podemos #erlos todos) por lo tanto hemos ele,ido uno &astante com>n - ue nos puede ser#ir como &ase para e"plicar unos cuantos conceptos$ Se trata de imitar el mo#imiento de una persona corriendo$ 8speramos ue con estas e"plicaciones seas capa' de reali'ar #ariaciones m1s comple!as) como podrian ser hacer ue el mu.eco practicase di%erentes deportes$ /amos a e"plicar cmo reali'ar la animacin ue puedes #er en esta p1,ina$ 4ara simpli%icar hemos di&u!ado una persona de %orma esuem1tica$ 264 A la hora de plantearnos cmo reali'ar una animacin de este tipo) lo primero ue de&emos hacer es anaIizar eI movimiento para #er si est1 compuesto por elementos ue se repiten) o si se puede separar en distintos componentes o cualuier otra situacin ue nos permita simpli%icar la animacin$ 8n el caso ue nos ocupa podemos separar el mo#imiento de las distintas partes del cuerpo) #iernas) ,razos) ca,eza - tronco$ 6am&in podriamos a.adir manos - pies pero no lo haremos para no complicar demasiado la e"plicacin$ Hemos creado una capa para cada parte del cuerpo) como puedes #er en esta ima,en$
Ctra circunstancia ue podemos o&ser#ar es ue eI movimiento deI brazo izquierdo y deI brazo derecho son muy parecidos) se di%erencian en la distinta posicin de partida$ 4or lo tanto &astar1 con reali'ar un mo#imiento ue nos ser#ir1 para am&os &ra'os$ Lo mismo ocurre con las piernas$ A su #e') podemos separar el mo#imiento del &ra'o en dos mo#imientos) uno cuando el &ra'o avanza (#a desde la posicin m1s atrasada hasta la posicin m1s adelantada) ) - otro cuando el &ra'o retrocede (#a desde la posicin m1s adelantada hasta la m1s atrasada)$ 0e esta %orma) con dos mo#ieclips podremos representar el mo#imiento de am&os &ra'os$ Los moviecIips son idnticos saIvo en eI sentido deI movimiento$ 265 8n esta ima,en puedes #er el mo#ie clip ",razo+adelante") hemos creado una capa para la parte superior del &ra'o - hemos hecho ue ,ire so&re su e"tremo superior (hom&ro)$ 4ara el ante&ra'o henos creado otra capa con su capa ,u*a) la capa ,u*a sir#e para ue la parte superior del ante&ra'o si,a la tra-ectoria ue descri&e el e"tremo in%erior (codo)$ 6am&in hemos incluido un ,iro en el ante&ra'o$ 8n esta ima,en intentamos e"plicar como est1n colocados los dos mo#ieclips ue %orman el mo#imiento de los &ra'os en la l*nea del tiempo$$ 8l &ra'o i'uierdo comien'a con el mo#ie clip ",razo+adelante" - contin>a con el mo#ie clip ",razo+atras") mientras ue el &ra'o derecho comien'a con el mo#ie clip ",razo+atras" - contin>a con el mo#ie clip ",razo+adelante") de esta %orma cuando el &ra'o i'uierdo a#ance el &ra'o derecho retroceder1$ Slo nos ueda #er un detalle interesante$ Hemos considerado idnticos el mo#imiento del &ra'o hacia adelante - del &ra'o hacia atr1s - la animacin ueda &astante &ien$ Sin em&ar,o 4odemos decir lo mismo del mo#imiento de las piernas? 7laramente no) -a ue cuando la pierna #a hacia atr1s de&e apo-arse 266 en el suelo) mientras ue cuando #a hacia adelante no de&e tocar el suelo$
Si comparas las dos im1,enes de la derecha podr1s o&ser#ar como hemos incluido un %oto,rama cla#e en la "pierna_adeIante" para poder mantener la pantorrilla en posicin m1s hori'ontal - ue no toue el suelo$ Unidad 24. Animaciones a#an'adas (/II) Kotoscopia
La rotoscopia es una tcnica ue utiIiza un movimiento reaI como patrn para caIcar Ias imagenes de Ia animacin$ Hace a.os ue se utili'a esta tcnica) por e!emplo) en las pel*culas de di&u!os animados para conse,uir mo#imientos realistas al caminar$ Ha- #arios mtodos para e!ecutar esta tcnica) nosotros #amos a ha&lar del mas sencillo para utili'ar en Flash$ Fn mtodo m1s comple!o ser*a colocar puntos &lancos o luces en di%erentes partes del cuerpo de una persona #estida de ne,ro - reali'ar una pel*cula so&re un %ondo ne,ro para lue,o ,enerar el 267 mo#imiento a partir de los puntos captados$ 7on una c1mara de #*deo podemos ,ra&ar el e%ecto ue ueremos reproducir) por e!emplo) una persona caminando) Lue,o importaremos el #*deo al %ormato de Flash) pero esta #e' lo haremos de forma diferente a la ue aprendimos en el tema /*deos$ 0el mismo modo de&eremos hacer clic en Archivo Q Importar Q Importar vdeo - se,uir los pasos ue aprendimos entonces) slo ue en la pantalla de seleccin de mtodo de importacin de&eremos seleccionar Incorporar vdeo en SWF y reproducir en Ia Inea de tiempo$
268 269 8sto har1 ue el #*deo se e"porte de %orma ue lo podremos #isuali'ar %oto,rama a %oto,rama$ Si,ue el resto de opciones hasta el %inal - el #*deo se colocar1 en la l*nea de tiempo$ Lue,o crearemos una nueva capa por encima - crearemos tantos fotogramas cIaves como %oto,ramas de pel*cula ueramos copiar$ 8l resto es sencillo) co!e un pinceI 7uanta m1s precisin consi,as) m1s impresionantes ser1n los resultados$
8ste proceso es mu- la&orioso) pero crea animaciones espectaculares$
4ractica un poco - #er1s como no es nada complicado) te reuerir1 &astante paciencia) pero la pel*cula %inal te #aldr1 la pena$ Si uieres mantener el audio) cuando importes el #*deo selecciona ue mantener eI audio y eI vdeo separados cuando elimines la capa de #*deo tu animacin mantendr eI sonido de Ia peIcuIa animaciones ser1n capaces de ha&lar_ Unidad 24. Animaciones a#an'adas (/III) A4I de di&u!o$ 7reando di&u!os con ActionScript
8n este apartado aprenderemos a manejar eI API de dibujo de FIash$ Su uso es mu- claro - sencillo) &astar1 con ue comprendas unas cuantas instrucciones$ Antes de empe'ar a di&u!ar debers tener un cIip donde hacerIo) para ello nos crearemos un cIip vaco utili'ando la %uncin createEmptyMovieCIip()5 270 this.!reate-$pty4o&ie%lip($i%lip# this.get3eBt)ighest>epth()); 7omo puedes #er) le pasamos dos parmetros) el primero ser1 el nombre de instancia al cual nos re%eriremos para modi%icar las propiedades del clip$ 8l se,undo par1metro indica el niveI de profundidad deI cIip$ Hemos utili'ado la %uncin getNextHighestDepth() para a#eri,uar cu1l es el ni#el superior en este clip - as* posicionar nuestro di&u!o en la parte superior (as* no lo tapar1 nin,>n otro o&!eto)$ Fna #e' creado el clip podemos pasar a di&u!ar so&re l$ Hacerlo es mu- %1cil) slo de&er1s iniciaIizar eI proceso de dibujo escri&iendo5 $i%lip.'egin2ill(!olor# al(a); 0onde color indicar1 el color de relleno ue se le aplicar1 al di&u!o$ 0e&er1 estar en he"adecimal) por e!emplo5 04000000$ 8l par1metro al2a indicar1 la transparencia del relleno$ Lue,o nos #aldremos de un par de %unciones5 $i%lip.ove4o(B# y); 8sto hace ue el punto de di&u!o se coloue en las coordenadas especi%icadas$ 4odemos empe'ar a pintar a partir de la coordenada (100* 100)) por e!emplo$ Lue,o nos uedar1 solamente di&u!ar l*neas en el espacio ue contendr1n el relleno de nuestro di&u!o$ Ftili'a la instruccin IineTo()5 $i%lip.line4o(B# y); 8sto har1 ue el punto de di&u!o se desplace hasta la posicin (4* y)) desde donde se crear1 el si,uiente tra'o de di&u!o$ $i%lip.begin'ill(0B220000); $i%lip.ove4o(10# 10); 271 $i%lip.line4o(10# 100); $i%lip.line4o(100# 100); $i%lip.line4o(100# 10); $i%lip.line4o(10# 10); $i%lip.end'ill(); Terminamos Ia instruccin con endFiII()$ 8ste e!emplo di&u!ar*a un cuadrado en la posicin (10* 10)$ Sencillo) #erdad? 4odemos esta&lecer el tipo de l*nea ue rodear1 al di&u!o escri&iendo lo si,uiente5 $i%lip.line/tyle(grosor# !olor# al(a# tra5os# es!ala# eBtre$os# "niones# li$ite-s,"inas); =ota5 8sta instruccin de&er1 estar colocada antes de utili'ar la %uncin beginFiII()) uedar*a de esta %orma5 $i%lip.line/tyle(1# 0B000000# 100); $i%lip.begin'ill(0B220000); $i%lip.ove4o(10# 10); $i%lip.line4o(10# 100); $i%lip.line4o(100# 100); $i%lip.line4o(100# 10); $i%lip.line4o(10# 10); $i%lip.end'ill(); Ahora e"plicaremos en detalle los parmetros de esta instruccin5 grosor5 un n>mero de 0 a 155 ue indicar1 el grosor del &orde$ coIor5 en he"adecimal) el coIor del &orde$ aIfa5 ni#el de transparencia del &orde) de 0 a 100$ trazos5 #alor &ooleano) har1 ue los ancla!es de las l*neas - cur#as se realicen de forma exacta$ 0e este modo los tra'os se di&u!ar1n a p*"eles e"actos en cualuier ,rosor (as* no se #er1n l*neas imprecisas)$ 272 escaIa5 especi%ica cmo se tendr1 ue e%ectuar la escaIa deI borde$ Sus #alores pueden ser "nor)al") ue toma el modelo predeterminado< "none") ue o&li,a a no cam&iar nunca la escala del &orde< "<ertical") ue no cam&iar1 la escala si el o&!eto slo cam&ia su escala #ertical< - ""orizontal") ue no cam&iar1 la escala si el o&!eto slo cam&ia su escala hori'ontal$ extremos5 de%ine cmo se di&u!ar1n los extremos de los &ordes) uniones5 esta&lece el tipo de uniones ue se esta&lecer1n en el &orde) IimiteEsquinas5 un n>mero entre 1 - 155) indica la distancia de la esuina al tra'o real) 8!ercicios del 6ema :; 4rue&a e#aluati#a del 6ema :;$ 273