{"id":118,"date":"2014-11-12T21:10:51","date_gmt":"2014-11-12T21:10:51","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ldperez\/?p=118"},"modified":"2014-11-12T21:11:27","modified_gmt":"2014-11-12T21:11:27","slug":"menu-con-efecto-de-easing-en-flash","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/ldperez\/2014\/11\/12\/menu-con-efecto-de-easing-en-flash\/","title":{"rendered":"Menu con efecto de easing en Flash"},"content":{"rendered":"<p>La innovaci\u00f3n y creatividad en la web ha venido en gran medida gracias a Flash y su altisima capacidad de \"experimentar\", entre ellas, los nuecos conceptos de navegaci\u00f3n, eso si, siempre manteniendo la usabilidad; este es un ejemplo de ello, un menu de navegaci\u00f3n con efecto de easing (Desaceleraci\u00f3n) que es implementado gracias a ActionScript.<\/p>\n<p>Lo que haremos ser\u00e1:<br \/>\n<strong>1. Teor\u00eda<\/strong><br \/>\nCrear un clip bajo una mascara, que de acuerdo al bot\u00f3n que se presione, el clip se mover\u00e1 a determinado punto.\u00a0Sintetizando, tenemos que crear un clip, una mascara, y los botones (para nuestro caso, 3 son suficientes)<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.cristalab.com\/images\/tutos\/menueasing\/escena.png\" alt=\"\" \/><\/p>\n<p><strong>2. Practica<\/strong><br \/>\nPara trabajar el mismo fla que dejo para la descarga, haremos lo siguiente:<br \/>\nAjustar el tama\u00f1o de nuestra pel\u00edcula a 300 X 400 px<br \/>\nCrear un movie clip de tama\u00f1o 300 X 50, en la posici\u00f3n x=0, y=100 con nombre de instancia \"clip_mc\"<br \/>\nA este clip \"clip_mc\", crearle una mascara de tama\u00f1o 100 X 50 en posici\u00f3n x=100, y=100<br \/>\nCrear tres botones con nombre de instancia \"a_btn\", \"b_btn\" y \"c_btn\", en cualquier posici\u00f3n.<br \/>\nSi alguno de los puntos anteriores no es claro, revisar el fla de descarga.<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.cristalab.com\/images\/tutos\/menueasing\/mascara.png\" alt=\"\" \/><\/p>\n<p><strong>3. Codigo ActionScript<\/strong><br \/>\nAl \"clip_mc\" pong\u00e1mosle este c\u00f3digo:<br \/>\n<span class=\"sComentario\">\/*Cargamos una variable cualquiera \"x\" con valor 0, que ser\u00e1 la que modificaremos con los botones, y claro, el clip lo cargaremos en la posici\u00f3n \"_x\" con valor 0*\/<\/span><br \/>\n<span style=\"color: #0000ff\"><em><span class=\"sIdentificador\">onClipEvent<\/span>(<span class=\"sIdentificador\">load<\/span>){<\/em><\/span><br \/>\n<span style=\"color: #0000ff\"> <em> x=0;<\/em><\/span><br \/>\n<span style=\"color: #0000ff\"> <em> <span class=\"sIdentificador\">_x<\/span>=0;<\/em><\/span><br \/>\n<span style=\"color: #0000ff\"> <em> }<\/em><\/span><br \/>\n<span class=\"sComentario\">\/*ahora , c\u00edclicamente, se estar\u00e1 calculando un incremento en la posici\u00f3n \"_x\" del clip, de acuerdo al resultado de la ecuaci\u00f3n \"(x-_x)*0.3\", que cambiara notablemente cuando cambiamos el valor de \"x\", al presionar los botones. Recordemos que esto se ejecuta constantemente, por el evento \"enterFrame\" es decir que siempre estar\u00e1 disponible para cualquier cambio en sus variables iniciales, que le dar\u00e1n el efecto de movimiento*\/<\/span><br \/>\n<span style=\"color: #0000ff\"><em><span class=\"sIdentificador\">onClipEvent<\/span>(<span class=\"sIdentificador\">enterFrame<\/span>){<\/em><\/span><br \/>\n<span style=\"color: #0000ff\"> <em> <span class=\"sIdentificador\">_x<\/span>+=(x-<span class=\"sIdentificador\">_x<\/span>)*0.3;<\/em><\/span><br \/>\n<span style=\"color: #0000ff\"> <em> }<\/em><\/span><\/p>\n<p>En el frame pongamos este otro c\u00f3digo:<br \/>\n<span class=\"sComentario\">\/\/al presionar \"a_btn\", se cambia el valor de \"x\" asignado a \"clip_mc\" a 100<\/span><br \/>\n<span style=\"color: #0000ff\">a_btn.<span class=\"sIdentificador\">onRelease<\/span> = <span class=\"sKeyword\">function<\/span>() {<\/span><br \/>\n<span style=\"color: #0000ff\"> clip_mc.x=100;<\/span><br \/>\n<span style=\"color: #0000ff\"> }<\/span><br \/>\n<span class=\"sComentario\">\/\/al presionar \"b_btn\", se cambia el valor de \"x\" asignado a \"clip_mc\" a 0.<\/span><br \/>\n<span style=\"color: #0000ff\"><strong>b_btn.<span class=\"sIdentificador\">onRelease<\/span> = <span class=\"sKeyword\">function<\/span>() {<\/strong><\/span><br \/>\n<span style=\"color: #0000ff\"><strong> clip_mc.x=0;<\/strong><\/span><br \/>\n<span style=\"color: #0000ff\"><strong> }<\/strong><\/span><br \/>\n<span class=\"sComentario\">\/\/al presionar \"c_btn\", se cambia el valor de \"x\" asignado a \"clip_mc\" a -100.<\/span><br \/>\n<span style=\"color: #0000ff\">c_btn.<span class=\"sIdentificador\">onRelease<\/span> = <span class=\"sKeyword\">function<\/span>() {<\/span><br \/>\n<span style=\"color: #0000ff\"> clip_mc.x=-100;<\/span><br \/>\n<span style=\"color: #0000ff\"> }<\/span><\/p>\n<p>Probemos nuestra pel\u00edcula con <span class=\"navseccion\">CONTROL+ENTER<\/span> y si no funciona revisemos el fla de descarga.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La innovaci\u00f3n y creatividad en la web ha venido en gran medida gracias a Flash y su altisima capacidad de \"experimentar\", entre ellas, los nuecos conceptos de navegaci\u00f3n, eso si, siempre manteniendo la usabilidad; este es un ejemplo de ello, un menu de navegaci\u00f3n con efecto de easing (Desaceleraci\u00f3n) que es implementado gracias a ActionScript. [&hellip;]<\/p>\n","protected":false},"author":9325,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5202],"tags":[],"class_list":["post-118","post","type-post","status-publish","format-standard","hentry","category-flash"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/posts\/118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/users\/9325"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/comments?post=118"}],"version-history":[{"count":2,"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/posts\/118\/revisions"}],"predecessor-version":[{"id":120,"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/posts\/118\/revisions\/120"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/media?parent=118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/categories?post=118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/ldperez\/wp-json\/wp\/v2\/tags?post=118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}