action script flash

44
Action script --------------Para BOTON Q LLEVA A UN FRAME DETERMINADO ---------------------------- on (release) { gotoAndPlay(238); } Ir a una wev(con boton): on (release) { getURL (http://www.taringa.net/posts/juegos/6371038/Starcraft-2-_-Wing- of-liberty-_2-DVD5_Latino_Ins_Offline_.html'); } PARAR todos los SONIDOS stopAllSounds(); Usar swf externo.-

Upload: guillermo-becerril

Post on 05-Dec-2014

150 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Action Script FLASh

Action script

--------------Para BOTON Q LLEVA A UN FRAME DETERMINADO----------------------------

on (release)

{

gotoAndPlay(238);

}

Ir a una wev(con boton):on (release)

{

getURL (http://www.taringa.net/posts/juegos/6371038/Starcraft-2-_-Wing-of-liberty-_2-DVD5_Latino_Ins_Offline_.html');

}

PARAR todos los SONIDOSstopAllSounds();

Usar swf externo.-

Con loadMovieNum("celebra.swf", 1)

donde celebra es la pelicula a cargar y 1 el level tienes tantos levels como kieras

Page 2: Action Script FLASh

para cerrarla unloadMovieNum(1); Creo q es a lo q te refieres la funcion loadMovie(); para clips dentro de la madre y loadMovieNum() para especificar niveles (capas)

Ejemplo

El ejemplo siguiente carga una imagen en un archivo SWF. Cuando se hace clic en unload_btn, se elimina el contenido cargado.

loadMovieNum("yourimage.jpg", 1); unload_btn.onRelease = function() { unloadMovieNum(1); }

Colocar scrip a botón dentro del swf a cerrar

on(release){this.unloadMovie();}

saludos

#2 (permalink) 09/01/2003, 12:23

Mod Fecha de Ingreso: noviembre-2002

Ubicación: IntraUterina

Mensajes: 502

CODIFICACION PARA LINKS A VENTANAS

Determina el lugar donde visualizar el recurso (nombre definido por el usuario)...

_blank (en una nueva ventana sin nombre),

_parent (en el cuadro padre inmediato),

_self (en el cuadro del documento actual),

_top (en la zona de visualización completa de la ventana, borrando el conjunto de cuadros).

Page 3: Action Script FLASh

Usar swf externo 2.-

holas

no, no es necesario crear clips de pelicula, lo q te diria es que utilizases peliculas del mismo tamaño. por ej estas trabajando con una pelicula.swf de 550x400 que tiene un boton: on(release){ loadmovieNum ("laotrapelicula.swf", 1) }

laotrapelicula.swf tmb mide 550x400, asi a la hora de trabajar con ella aparte, sabes donde encontraras cada elemento, bueno que decir usa guias reglas etc tmb.

salu2

PARA ABRIR UNA VENTANA (POPUP) DESDE FLASH on (release) { getURL ("javascript:void(window.open('popup.html','popup','toolbar=no,location=no,status=no,menubar=

no, scrollbars=no,resizable=no,width=400,height=200,top=50,left=50'))" ;

solo tienes q cambiar 'popup.html' por el tuyo y el tamaño q tenga la pelicula swf

fijate q necesitas el html de tu pelicula

Si, tienes q tener el html de tu pelicula swf que en este caso es el juego. pongamosle "juego.html" y el *.swf mide 400x300

Entonces en la pelicula principal* (index.swf, o html)colocas el boton y le añades el codigo

Page 4: Action Script FLASh

on (release) { getURL ("javascript:void(window.open('juego.html','popup','toolbar=no,location=no,status=no,menubar=no, scrollbars=no,resizable=no,width=400,height=300,top=50,left=50'))");

te crea un popup quitandole las barras, los menus, etc y ajustado a la pelicula

*ES OTRA DISTINTA A LA DEL juego, el codigo se pone al boton (onRelease)

Que bueno que metiron ese tema. Ahora ya no quiero cargar un swf, ahora quiero abrir una web con puro codigo html en un pop up, y abrirlo desde un swf

Ya construi el swf; esta ya terminado y ya puse todo el código y todo, pero no jala el botón.

Primero use el código como el que mencionan ustedes pero no jalo, despues use este:

on (release){ getURL("javascript:openNewWindow('Page.html','Spa','height=80,width=100,toolbar=no,scrollbar

s=no');" }

Pero tampoco no funcionó.

---

1. Action script para flash externo¿Cómo cargar una Película externa en un lugar exacto de mi película

principal? [respuesta]

2. ¿Cómo hago una pausa de X segundos en x frame? [respuesta]

3. ¿Cómo hago para que mi Proyector.exe se vea a pantalla completa? [respuesta]

4. ¿Cómo hago para que mi película SWF se vea a pantalla completa desde el Navegador? [respuesta]

5. ¿Cómo cargo texto desde un Archivo Externo? [respuesta]

6. ¿Cómo hago para que los acentos y ñ de un texto Externo se vean Correctamente? [respuesta]

7. ¿Cómo abro una ventana PopUp desde Flash? [respuesta]

8. ¿Cómo vinculo enlaces a diferentes Frames? [respuesta]

9. ¿Cómo imprimo desde Flash? [respuesta]

10. ¿Cómo vincular a mail en Flash? [respuesta]

Respuestas

1) Crear en la película principal un MC vació, colocarlo en el lugar donde queramos cargar el swf externo y finalmente le pondremos un nombre de Instancia por ejemplo "musica".

Ahora la forma de cargar el Swf varia dependiendo de como queremos llamar a ese swf; ya sea por medio de un botón o al llegar a un Frame en especifico.

Page 5: Action Script FLASh

Si lo queremos cargar por medio de un botón seria colocando el siguiente código en el botón que llamara al swf:

on (release) { loadMovie("tuswfExterno.swf", "musica"); }

Ahora si queremos cargar nuestro swf externo al llegar a determinado frame seria colocando el siguiente código en dicho Frame:

loadMovie("tuswfExterno.swf", "musica");

2) Coloca el Siguiente codigo en el Frame donde quieras hacer la pausa:

stop(); segundos = 5; espera = function () { play(); clearInterval(a); }; a = setInterval(espera, segundos*1000)

Sólo necesitaras cambiar la Variable segundos por el tiempo que quieras hacer la pausa

3) Colocando el Siguiente código en el Primer Frame de tu película:

fscommand("fullscreen", "true");

4) Se necesita hacer 2 paginas HTML, Una que será la página de Bienvenida y otra que será la que contenga al SWF.

A la página de Bienvenida pondremos el Sigueinte Codigo:

<body onload="javascript:window.open('principal.htm','nombredeventana', 'fullscreen=yes, scrollbars=no');">

Este código abrirá automáticamente la pagina llamada principal.htm que es la que contendrá nuestra película SWF.

5) Para cargar un texto desde un archivo Externo utilizaremos el comando loadVariablesNum pero primero tendremos que "arreglar" el archivo de texto de tal forma que Flash lo entienda.

-------------------------- Archivo Texto.txt

&valor=Hola Mundo&

Lo que hicimos fue definir una variable por medio del signo & para que Flash la entienda y la cargue en este caso le dimos el valor de "Hola Mundo" a la Variable "valor".

Ahora ya listo nuestro archivo de texto lo cargaremos a nuestra película con el siguiente código:

LoadVariablesNum("texto.txt", 0);

Page 6: Action Script FLASh

Ahora para comprobar que se ha cargado el texto de forma correcta Creamos un cuadro de texto dinámico en Flash y le asignamos el nombre de variable valor , probamos la película y nos tendrá que aparecer "Hola Mundo".

6) Guardar el archivo TXT con formato unicode o UTF-8.

7) Lo primero es crear la función de Javascript en el HTML que contendrá nuestra película swf.

Pega este código entre el <head> y el </head>

<script type="text/javascript"><!--function popUp(URL) {day = new Date();id = day.getTime();eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,men ubar=0,resizable=0,width=320,height=240');");}// --></script>

Donde Width y height se modificarán de acuerdo a tus necesidades, una vez hecho esto en el botón que lanzara la venta desde Flash pones el Siguiente código:

on (release) { getURL("javascript:popUp('tu-pagina.htm')"); }

Esta Ventana no tendrá barra de estado, Menú, y su tamaño no será ser cambiado por el Usuario!

8) Colocando el siguiente código en el botón deseado:

on (release) { getURL("tu-pagina.html", "nombredelframe"); }

9) Colocando el Siguiente código en el botón deseado.

on(release){ getURL("print:","/"); }

Nota: hay que poner #p a los fotogramas que se imprimirán.

10) Peguen este codigo en el boton:

on (release) { geturl ("mailto:[email protected]"); }

Page 7: Action Script FLASh

Ahora me sigo peleando con este trabajo por que no sale.

Lo más extraño es que cuando lo pruebo en mi PC cambiando la URL, si funciona, pero cuando subo el swf a la red ya con el URL correspondiente, ya no funciona.

Veanlo ustedes mismo: http://www.geocites.com/akosbrefos/MSAF4Beta.html

Cuando lo vean, abran el menu de arriba-izquierda y por ejemplo el link llamado SPARROWS tiene la URL http://www.geocities.com/akosbrefos/Sparrows.html y el nombre de ventana tiene Sparrows.

Pues ya ni sé que hacer; me desesperé con el trabajo y cada vez más lo estoy posponiendo y eso no me veneficia.

Regresndo un poco al tema inicial, ¿cómo le hago para que el swf externo se cargue en un lugar específico de la swf madre?

Espero que me despejen ambas incognitas

Hi akos, dices q has probado con este codigo (el de la cita), pero veo q no coincide el nombre de la pag.html, asimismo fijate q las rutas sean las correctas

prueba con el sig a ver q tal:

on (release) { getURL ("javascript:void(window.open('Sparrows.html','popup','toolbar=no,location=no,status=no,menubar=no,

scrollbars=no,resizable=no,width=100,height=300,top=50,left=50'))" ; }

Bueno en negrita tienes los cambios que he metido, el tamaño lo cambie, por parecerme excesivamente pequeño, pero a tu gusto : D.

Pd: La pag por ser de yahoo tiene Javascript no se si eso sera la cuestion del problema, dices q desde tu pc si abre el popUp, por eso me dio q pensar q puede q sea el origen del problema el script q añade yahoo

Page 8: Action Script FLASh

Tengo el ejemplo en HTML, pero no sé cómo hacerlo con ActionScript. Aqui pongo el ejmplo con HTML:

<li>"It's a me, Mario!" (0:04) <a href="#" onClick="crush=window.open('SoundtrackFiles/1.zip','popup','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=200,height=200');return false;">[Download]</a>

Si podrán notar, se esta direccionando directo al archivo ZIP y al final de toda la acción esta la frase "RETURN FALSE". Me imagino que debo utilizar esta frase en especial para cumplir mi cometido.

Quiero que alguien me informe al respecto.

Me imagino que mi codigo debe quedar asi. Corriganme por favor si me equivoco

on (release) { getURL("javascript:void(window.open('MSGate.html','MSGate','width=120,height=80'))return

false;" ; }

Perfecto. Una duda... ¿Como cargar la pelicula externa en un lugar determinado? Quiero que cargue en un lugar especifico... Saludos

Existen muchas posibilidades, mas arriba expuse brevemente como funciona:

loadMovieNum(); <--- Carga archivos *.swf encima de la madre, si eliges un archivo q es del mismo tamaño q la madre, ya sabes donde se cargara... no es muy explicito lo se, debes probarlo tu mismo, crea dos archivos swf. En el primero (archivo_1.swf) cambiale el fondo a azul por ej y pega lo siguiente en el frame:

loadMovieNum("archivo_2.swf", 1);

Lo guardamos como archivo_1.fla, con éste mismo abierto dibuja una figura (cuadrado, circulo, lo q sea y donde sea, pero dentro del escenario), ahora lo guardamos como archivo_2.fla y lo publicamos. Bien, solo queda abrir el "archivo_1.swf" desde el navegador o probando la escena desde flash. Podras observar q carga la imagen en el sitio donde tu "querias" que apareciese.

Page 9: Action Script FLASh

loadMovie(); <---- CArga *.swf e imagenes *.jpg no progresivos, mirate la ayuda de flash, en el diccionario de AS, busca por la M lo siguiente: MovieClip.loadMovie()

OK, con migo ya no hay problema, ya lo he resolvido.

Pero regresando un poco al tema anterior que tenía. Ahora lo que quiero es que en mi SWF al dar clic se abra una pop up que refresque a una descarga, pero cuando esta se active, el pop up se cierre automaticamente sin hacer ningun aviso. Tengo el ejemplo en HTML, pero no sé cómo hacerlo con ActionScript. Aqui pongo el ejmplo con HTML: <li>"It's a me, Mario!" (0:04) <a href="#" onClick="crush=window.open('SoundtrackFiles/1.zip','popup','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=200,height=200');return false;">[Download]</a> Si podrán notar, se esta direccionando directo al archivo ZIP y al final de toda la acción esta la frase "RETURN FALSE". Me imagino que debo utilizar esta frase en especial para cumplir mi cometido. Quiero que alguien me informe al respecto. Me imagino que mi codigo debe quedar asi. Corriganme por favor si me equivoco on (release) { getURL("javascript:void(window.open('MSGate.html','MSGate','width=120,height=80'))return false;"); }

Te comento q yo de javascript verde verde, quiza en el subforo de javascript te ayuden mejor. Pero como algo hay de flash voy a intentarlo.

Tenemos una Web madre q contiene un *.swf, al hacer clik en un boton abrira un popup (duda?? con otro swf no?), el codigo sigue siendo el mismo:

on (release) { getURL ("javascript:void(window.open('popup.html','popup','toolbar=no,location=no,status=no,menubar=no, scrollbars=no,resizable=no,width=400,height=200,top=50,left=50'))"); } Ahora en este nuevo popup abierto se supone tenemos un flash que hace lo siguiente automaticamente: Iniciar una descarga con javascript incluido, para que se cierre el popup si la descarga se inicia.

Page 10: Action Script FLASh

getURL ("javascript:onLoad=crush=window.open('SoundtrackFiles/1.zip','popup','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=200,height=200');return false";); }

Ejecutable para cd interactivo

La forma de hacer un autorun es muy sencilla tan sólo debemos abrir un archivo de bloc de notas y en el escribir lo siguiente:

[autorun] open=archivo.exe

al guardar el autorun ponemos las extensiones *.* y guardamos el archivo como autorun.info. Es importante que si hemos creado el autorun de esta manera, luego al grabar el cd, el .exe y el autorun.info estén en el raíz del cd. Si queremos que el .exe no esté en el raíz podríamos cambiar de esta forma el archivo .info:

[autorun] open=loquesea/archivo.exe

Éste sería el autorun más básico que hay, pero funcionaría para su propósito, aunque existen otras muchas opciones.

Solucion 2

autorun 13/10/08 

Comentario de José Natividad:

Quiero agregar música a un cd que inicio con autorun. Al introducir el cd ya abre un archivo que hice, pero quiero que al mismo tiempo abra un archivo de música. Cómo le hago?

Desarrollo Multimedia:

Una solución es poner en un script interno lo siguiente:

On idle

global sonido

if not soundbusy(1) and sonido=1 thensound playfile 1, the pathname & "musica\musica1.mp3"end if

Page 11: Action Script FLASh

end

Manual para crear un cd Autoejecutable

Cuando deseamos crear un Cd ROM y queremos que este se auto ejecute al introducirlo en la unidad de CD / DVD tenemos que incluir un pequeño archivo en el Directorio del CD. El archivo en cuestión se llamaría AUTORUN.INF . En este manual os daré unos ejemplos de como realizarlo

Este pequeño archivo se crea con el bloc de notas, y una vez creado lo renombramos a AUTORUN.INF el contenido que debemos introducir dentro del archivo es el siguiente:

[autorun] open=archivo.exe icon=archivo.ico

Donde pone "archivo.exe" se tiene que poner el nombre del archivo a ejecutar y donde pone "archivo.ico" ponemos el icono del CD-ROM que veremos al mostrar el contenido de "MiPC".

Ejemplo:

CREAR UN AUTORUN PARA PÁGINA WEBPara crear un Autorun para una página web, es necesario especificar otro archivo de Windows para que pueda abrir la página, es decir, el Explorador de Windows.

Si no lo haces así y grabas el CD, cuando quieras que se inicie el Autorun, te dirá que no es una aplicación Win32 válida. Por tanto, ten en cuenta estas explicaciones, y sigue el ejemplo que hay más abajo:

[autorun] OPEN=\windows\explorer.exe nombre_página_web.html ICON=Nombre_archivo_icono.ico

Fíjate que en el comando OPEN, entre explorer, exe y nombre_página_web.html, hay un espacio. nombre_página_web.html = el nombre de la página web que desee que inicie el autorunNombre_archivo_icono.ico = debe introducir el nombre el archivo del icono.

Por ejemplo, si quieres hacer un autorun para un CD, y que el Autorun te inicie una página web llamada "index.html", con un icono para el CD, llamado "icoCD.ico". Tendrás que hacer lo siguiente:

[autorun]

Page 12: Action Script FLASh

OPEN=\windows\explorer.exe index.html ICON=icoCD.ico

Puede que lo que quieras que se ejecute sea un archivo de una determinada aplicación, como por ejemplo un archivo html (o cualquier otro archivo que quieras), entonces tendrás que crear además un archivo BAT (por lotes) que haga que el archivo de la aplicación se pueda auto ejecutar. Los pasos serán primero crear el archivo bat con el bloc de notas, que por ejemplo lo llamamos auto.bat y estará constituido por las dos líneas siguientes:

@explorer Indice.htm@exit

Donde “Indice.htm” es el nombre del archivo que tengas (si es un archivo del Word sería por ejemplo :@explorer chistes.doc, se admite cualquier archivo de windows y siempre que el ordenador donde se use el CD tenga el programa que abre dicho archivo).

Luego debes crear el archivo autorun.inf:

[autorun]open=auto.baticon=Dibujo.ico

Ambos archivos irán en el directorio raíz, así como el archivo htm.

Consejo: antes de grabar el CD pon el archivo “auto” y el archivo que quieras que se abra dentro de la misma carpeta de tu disco duro y ejecuta el archivo .bat para comprobar que abre la aplicación con el archivo elegido, si es así cuando grabes el CD y pongas los 3 archivos anteriores en el directorio raíz no fallará, si no se abre comprueba si tu archivo por lotes .bat realmente tiene extensión .bat y no es “auto.bat.txt” y su contenido es correcto.

 

AÑADIR OPCIONES AL MENÚ CONTEXTUAL

Otra cosa que se puede hacer desde el fichero AUTORUN.INF es añadir opciones al menú de contexto del CD-ROM (el que sale al pulsar con el botón secundario sobre el icono del CD). Puede resultar interesante dar la opción de "Explorar el contenido del CD" o "Iniciar la instalación de... (un programa cualquiera)". Esto también es fácil:

[AUTORUN]OPEN=SHELEXEC.EXE <fichero>ICON=<icono>

SHELL\EXPLORAR=Explorar el contenido del CD-ROMSHELL\EXPLORAR\COMMAND=EXPLORER.EXE /E,\

SHELL\HTML=Ver índice HTML del CD-ROM

Page 13: Action Script FLASh

SHELL\HTML\COMMAND=SHELEXEC.EXE INDICE.HTM

El truco consiste en crear parejas de líneas "SHELL\<clave>" y "SHELL\<clave>\COMMAND" poniendo en la primera el texto que queremos que aparezca en el menú de contexto, y en la segunda la instrucción que queremos que se ejecute al seleccionar la opción.

 

[AutoRun] open=nombre.exe icon=icono.ico

donde "open=setup.exe" es el nombre de la aplicación o archivo que deseas ejecutar.... e "icono=icono.ico" es el icono que quieras añadirlo... elijes tu si deseas dejarlo en la unidad raíz como esta o poniendole una ruta... y por último lo guardas con la extensión .inf (((( ojo.........este fichero, debe estar en el directorio raíz del CD ))))

bye..... you'r friends <<< Jhelwer >>>

Texto con scroll

Este es un ejemplo de texto con scroll en una maquetación de dos columnas (siguiendo este mismo ejemplo se podrian colocar tres o mas columnas sin problema). Lo interesante del ejemplo es que podremos controlar el desplazamiento entre las diferentes columnas de texto con un mismo scroll.

Este sería el ejemplo:

Page 14: Action Script FLASh

El primer paso paso será colocar en nuestra película dos cajas de texto y un componente slider (esto lo podríamos haber hecho por código, pero como no es importante para el ejemplo lo haremos "a mano". El uso del componente slider tambien es opcional, tambien podríamos haber utilizado un scroll personalizado)

Para seguir el ejemplo llamaremos a los TextFields "texto1" y "texto2". Al componente slider lo llamaremos "slide".

Ahora pasemos al código. Primero de todo será obtener el texto. Este texto lo podemos sacar de un xml, base de datos o de donde sea. Para el ejemplo lo colocaré directamente en una variable:

var _texto:String = "La comunicación nos hizo inteligentes. Sentientes. Es el mecanismo evolutivo con el que perpetuamos el conocimiento y la experiencia. Con ella nacieron conceptos como los sentimientos, el arte y la especulación del futuro..........//**aqui todo el texto en formato html **//..... ";

Ahora colocaremos el texto dentro de la caja de texto "texto1", y comprobaremos si el texto es demasiado largo para caber en la primera caja. Si es demasiado largo colocaremos este mismo texto en la segunda caja, en caso contrario ocultaremos el componente slider ya que no será necesario hacer scroll.

texto1.htmlText = _texto;if (texto1.maxScrollV> 1) {   texto2.htmlText = texto1.htmlText;

Page 15: Action Script FLASh

} else {   slider.visible = false;}

Ahora tenemos que desplazar el texto de la segunda caja para que la última línea de la primera caja enlace con la primera línea de la segunda caja. Para esto tendríamos que saber el número total de líneas que caben en la caja, esto lo podriamos saber haciendo una prueba manual pero como podria interesarmos cambiar el tamaño del texto a través de código y esto haría variar el número de líneas es mejor hacer la comprobación tambien a través de código. Esta función nos devolvería el número de lineas de la caja:

function getMaxLines(caja:TextField):Number {   var texto:String = caja.htmlText;   caja.htmlText = "";   var num:Number = 0;   while (caja.maxScrollV <= 1) {      caja.htmlText += (num+"<br/>");      num++;   }   caja.htmlText = texto;   return num - 1;}

La idea de esta función es que va colocando lineas de texto hasta que detecta que es necesario un scroll (maxScrollV mayor de 1) entonces devuelve el valor de las líneas añadidas. Sabiendo este valor cambiaremos el scroll vertical de la segunda caja de texto.

if (texto1.maxScrollV> 1) {   texto2.htmlText = texto1.htmlText;   var maxlines:Number = getMaxLines(texto1);   texto2.scrollV += maxlines;} else {   slider.visible = false;}

Nos faltaría hacer una última comprobación, que sería el caso en que el texto no llenase toda la segunda caja. Entonces tendríamos que llenar la caja con lineas en blanco y ocultar el slider.

if (texto1.maxScrollV> 1) {   texto2.htmlText = texto1.htmlText;   var maxlines:Number = getMaxLines(texto1);   trace("ssss"+texto1.scrollV)   texto2.scrollV += maxlines;

   var num:int = maxlines - texto1.maxScrollV;   if (num>0) {

Page 16: Action Script FLASh

      for (var i = 0; i <= num; i++) {         texto2.htmlText += "<br/>";         texto2.scrollV++;      }      slider.visible = false;   }} else {   slider.visible = false;}

Finalmente solo falta programar el slider para que desplace el texto.

Le indicaremos al componente slider que los pasos de scroll serán tantos como tantas línas ocultas tenga la segunda caja de texto.

import fl.events.SliderEvent;slider.maximum = texto2.maxScrollV-texto2.scrollV;

Añadiremos al componente un evento THUMB_DRAG para cuando arrastremos el slider y un evento CHANGE para cuando cliquemos sobre la barra. Haremos que el scroll de la primera caja sea en relación al valor del slider y que el scroll de la segunda caja vaya en relación con el de la primera.

import fl.events.SliderEvent;slider.maximum = texto2.maxScrollV-texto2.scrollV;slider.addEventListener(SliderEvent.THUMB_DRAG, scrollTexto);slider.addEventListener(SliderEvent.CHANGE, scrollTexto);function scrollTexto(event:SliderEvent):void {   texto1.scrollV = 1+slider.value;   texto2.scrollV = texto1.scrollV + maxlines;}

scroll en texto opción 2

Scrollbar en Adobe Flash CS3

Voy a intentar explicar como Insertar un ScrollBar en un campo de texto dinámico:

Con la herramienta de texto cramos un campo de texto dinámico con el tamaño que nosotros deseemos. En la pestaña de propiedades del campo de texto cambiaremos las siguientes propiedades:

Page 17: Action Script FLASh

Tipo de línea: Multilínea. Seleccionar botón: seleccionable, junto a tipo de línea(Esto permite hacer Scroll con la

rueda central del ratón). An,Al,X,Y: Para indicar el Ancho, Alto, Posición en el eje horizontal y en vertical

respectivamente.

Después lo que debemos hacer es arrastrar el componente UIScrollbar(Si no ves los componentes, CTRL + F7 para que sean visibles) a la zona de trabajo. Una vez que lo tenemos en la zona de trabajo, lo que debemos hacer es arrastrarlo dentro del campo de texto para que se acople a este. Ya tenemos creado nuestro campo de texto con ScrollBar. Para probarlo hacemos CTRL + ENTER y veremos el resultado.

Si queremos cambiar el color del ScrollBar lo que deberemos hacer será convertir el ScrollBar en un Símbolo(botón derecho, convertir en símbolo). Elegimos la opción de clip de película y le damos el nombre que queramos.

Ahora nos vamos a la pestaña de opciones de nuestro ScrollBar. Una vez allí, elegimos en el desplegable de Color la opción de TInta y allí definimos el color.

Ya hemos creado un ScrollBar para un campo de texto dinámico.

Tutorial Scroll de Texto en Flash

En el siguiente tutorial dedicado a flash tratare de mostrarles de una forma rapida y sencilla como diseñar un scroll de texto, con la ayuda de ActionScript.

Este tutorial tratare de hacerlo lo mas sencillo posible, para que los nuevos usuarios de flash no se confundan a la hora de realizarlo.

Para este tutorial estoy utilizando Flash CS3 y ActionScript 2.0 si no tienes mucha experiencia en ActioScript, no te preocupes el codigo es realmente sencillo y facil de enteder.

Page 18: Action Script FLASh

1.-Nuevo Documento

Seleccionamos ActionScrpt 2.0

Para comenzar abrimos un nuevo documento y seleccionamos ActionScript 2.0, es muy importante seleccionar esta versión de ActionScript porque de lo contrario el codigo para nuestro scroll de texto no funcionara.

2.-El campo de Texto

Page 19: Action Script FLASh

Seleccionamos de la barra de herramientas, la herramienta texto la colocamos donde queremos que se muestre y despues, vamos a la pestaña de propiedades y seleccionamos texto dinamico, marcamos que se muestre el borde de nuestro campo de texto ( esto es opcional, yo lo hago para que ustedes lo vean. En el campo de variable le damos el nombre miscroll esto es importante ya que en el codigo ActionScript tendremos que colocarlo tal cual.

3.-Colocamos los Botones del Scroll

Page 20: Action Script FLASh

Botones del Scroll colacados en su posicion

Para colocar los botones de nuestro scroll es sumamente sencillo, solo tendremos que seleccionar un par de imagenes, las que queramos que sean la flecha hacia arriba y la flecha hacia abajo y los arrastramos hasta la biblioteca de nuestro proyecto, una vez que nuestras imagenes esten en la biblioteca, tendremos que convertir esas imagenes en botones, para esto flash nos da un metodo abreviado que es la tecla F8, y se hace de la siguiente manera, seleccionamos la imagen y una vez seleccionada solo damos F8 sobre ella, nos aparecera una ventana, donde nos pedira que demos el nombre y el tipo a la que vamos a convertir la imagen, las opciones son 3

Clip de Pelicula Botón (que es la que nos importa en esta ocación) Grafico

4.-Insertando Codigo ActionScript

Page 21: Action Script FLASh

Insertando Codigo ActionScript

Ahora que ya tenemos armada la estructura de nuestro scroll de texto nos hace falta la programación en ActionScript, para esto tendremos que seleccionar los botones.

Codigo ActionScript del boton que apunta hacia arriba:[as]on (press) {miscroll.scroll = miscroll.scroll-1;}[/as]

Codigo ActionScript del boton que apunta hacia abajo:[as]on (press) {miscroll.scroll = miscroll.scroll+1;}[/as]

Codigo ActionScript donde ira el texto que queramos mostrar, el texto deve ser algo largo para que pueda usarse el scroll, para esto nos situamos en el primer y unico frame que tenemos:[as]stop();

Page 22: Action Script FLASh

texto = “Probando hacer un scroll de texto en Flash: Para la impresion de articulos en el mundo del bloggin existen plugins dependiendo la plataforma que estemos usando, o los llamados hacks en blogger, y en esta ocacion es lo que les voy a presentar, un pequeño post con el cual podremos hacer que nuestros visitantes puedan imprimir un post en blogger si asi lo”;[/as]

Y listo nuestro scroll esta listo nuestro scroll esta en funcionamiento, el diseño es basico, solo para el tutorial, ya si tu gustas lo puedes mejor.

PARA ABRIR UNA VENTANA (POPUP) DESDE FLASH on (release) { getURL ("javascript:void(window.open('popup.html','popup','toolbar=no,location=no,status=no,menubar=

no, scrollbars=no,resizable=no,width=400,height=200,top=50,left=50'))" ;

solo tienes q cambiar 'popup.html' por el tuyo y el tamaño q tenga la pelicula swf

Creación de texto desplazable

Flash Lite 1.1 admite las propiedades de campo de texto scroll y maxscroll que permiten crear campos de texto desplazable. La propiedad scroll especifica la primera línea visible de un bloque de texto. Es posible definir y obtener su valor. Por ejemplo, el código siguiente desplaza cinco líneas hacia abajo el campo de texto cuyo nombre de variable es story_text:

story_text.scroll += 5;

La propiedad maxscroll especifica la primera línea visible en un bloque de texto cuando la última línea está visible; se trata de una propiedad de sólo lectura. Puede comparar la propiedad maxscroll del campo de texto con su propiedad scroll para averiguar hasta dónde se ha desplazado un usuario en un campo de texto. Resulta útil si desea crear una barra de desplazamiento que ofrezca información sobre la posición de desplazamiento actual en relación con la posición de desplazamiento máximo.

Page 23: Action Script FLASh

Para crear un campo de texto desplazable y controlarlo con ActionScript:

1. En Flash, cree un nuevo documento a partir de la plantilla de dispositivo Flash Lite 1-1 - Symbian Series 60.

Para más información sobre la creación de documentos a partir de plantillas de dispositivos, consulte Utilización de plantillas de documentos de Flash Lite en Introducción a Flash Lite 1.x.

2. Con la herramienta Texto, haga clic en el escenario y arrastre un campo de texto que tenga un tamaño similar al mostrado en la imagen siguiente:

3. En el inspector de propiedades, seleccione Multilínea en el menú emergente Tipo de línea.4. Seleccione Texto dinámico en el menú emergente Tipo de texto del inspector de

propiedades.5. Seleccione Utilizar fuentes del dispositivo en el menú emergente Método de

representación de fuentes del inspector de propiedades.6. Seleccione Texto > Desplazamiento permitido para que el usuario pueda desplazar el

campo.7. Escriba story en el cuadro de texto Var del inspector de propiedades. Con ello se asocia la

variable de ActionScript denominada story con el campo de texto.8. Haga doble clic en el interior del campo de texto e introduzca suficiente texto como para

que una o varias líneas de texto se extiendan por debajo de su borde inferior.

Page 24: Action Script FLASh

9. Cree un nuevo símbolo de botón y añada una instancia del mismo en el escenario o fuera del mismo.

Este botón actúa como un botón de captura de teclas y no es necesario que esté visible para el usuario. Para más información sobre la creación de botones de captura de teclas, consulte Creación de un botón de captura de teclas.

10. Seleccione el botón y abra el panel Acciones (Ventana > Acciones).11. Introduzca el código siguiente en el panel Acciones:12. on(keyPress "<Down>") {13. story.scroll++;14. }15. on(keyPress "<Up>") {16. story.scroll--;17. }18. Seleccione Control > Probar película para probar la aplicación en el emulador de Adobe

Device Central.

Presione las teclas de flecha arriba y abajo del teclado (o los botones arriba y abajo del teclado del emulador) para desplazar el texto hacia arriba o abajo.

Para evitar complicaciones, este ejemplo permite introducir el contenido del campo de texto en la herramienta de edición. Pero es posible modificar el ejemplo fácilmente de modo que el contenido del campo de texto se actualice utilizando ActionScript. Para ello, basta con escribir comandos ActionScript que asignen el texto que desee al nombre de variable que asignó al campo de texto multilínea (story, en este ejemplo).

story = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed ipsum. Nam tempus. Nullam sed velit eget sem consectetuer tempor. Morbi eleifend venenatis pede. Cras ac lorem eget massa tincidunt iaculis...etc."

Flash CS3

 

Interacción basica con la linea de tiempo

stop(); detiene tu película en el frame donde se encuentra.

play(); reproduce la película desde el frame donde esta.

gotoAndStop(); te permite ir a frame y detenerse en ese frame.Ejemplo:

Page 25: Action Script FLASh

gotoAndStop(5);

Te mandará al frame 5 y se detendra ahí

gotoAndPlay(); te permite ir a frame y continuar con la reproducción desde ese frame; funciona igual que el anterior.

nextFrame(); te permite ir al siguiente frame.

prevFrame(); te permite ir al frame anterior.

Vinculos hacia direcciones web o URL externas

getURL(); te permite abrir un web con un link especificoEjemplo:

on (press){getURL("http://www.google.com","_blank");

}

También puedes llamar a una web q tengas en tu servidor

on (press){getURL("porfolio.html","_self");

}

&/()=?”#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%&/

Filosofía de flash

Guía definitiva para novatos de Flash

Por _CONEJO el 22 de Enero de 2005 con 605,151 visitas. Flash Básico   Otros tutoriales por _CONEJO.

Intentare resumir y hacer una recopilación de las palabras y temas mas "comunes" en flash, para que aquellos que empiezan tengan al menos una idea de lo que hay.

IMPORTANTE: Por muy avanzado que te creas, si acabas de empezar, léete todo el tutorial/guía. No trates de ir más deprisa de lo que puedes

Page 26: Action Script FLASh

Tomando contacto: El IDEEl IDE es la "interface", la parte gráfica de Flash en cuestión de editor. Consta de varios paneles, estos se pueden mover, abrir, cerrar, quitar, e incluso ponerlos "flotantes" como en versiones anteriores de Flash. Por eso si tu distribución difiere de la de las imágenes no te preocupes, eso da igual. Ya que las fotos las he querido hacer lo mas grandes posibles para que se vea bien, no las meto aquí, sin oque dejo los links, para no ensanchar demasiado el foro

Pantalla Principal - Click para agrandar

Page 27: Action Script FLASh

Propiedades del campo de texto

Page 28: Action Script FLASh

Opción de exportar fuentes

Page 29: Action Script FLASh

Panel de acciones

Page 30: Action Script FLASh

Panel de ayuda

Flash, Qué Es? Cómo funciona?Flash es un entorno de desarrollo,... euh? Pues un programa para hacer otros programas/animaciones/paginas webs/RIA's y demás. Como otros entornos de desarrollo Flash consta de un "editor" y un "compilador", el editor como ya hemos dicho es todo lo que ves en flash, con él escribes el programa [código AS] y haces los dibujos/imágenes que quieras. El compilador [parte que no ves] lo que hace es asegurarse de que todo esta bien escrito [detecta errores de forma, no de contenido] y lo "compila", es decir fabrica un archivo con la extensión .SWF que es capaz de ser interpretado por el player.

Bueno, entonces... que es el player y que hace? El player o reproductor, como su nombre indica "reproduce" los archivos SWF. Por que hace esto? bueno todo tiene su explicación, que la dejare para otro momento, usare la metáfora de un reproductor de CD's... Podrías tener un solo lector de CD [player] y muchos CD’s [archivos SWF] que se leen ahí o por el contrario tener muchos aparatos del tamaño de un lector de CD y que cada uno llevase un solo CD que no se pudiera cambiar....Así tenemos que nuestros archivos SWF son como CD's, el mismo archivo vale para el plugin de un navegador, que para el de otro, o incluso para el player en local.

Un poco de historiaFlash se creó en un principio para la animación vectorial [y no vectorial], por eso comparte muchas herramientas con programas de dibujo y animación. Fue a partir de Flash5 [FL5] cuando surgió la explosión de Action Script [AS] y se añadieron muchas funciones nuevas. Actualmente hay dos corrientes en Flash, la Designer [Diseñador] y la Developer [Programador], así mismo los exámenes de certificación de Macromedia son diferentes para

Page 31: Action Script FLASh

cada una de estas ramas. Ahora con Flash MX y MX2004 Las capacidades del Developer se vieron aumentadas en grandes cantidades, añadiendo los "componentes", funciones para webcam, micrófono, webServices, XML, LoadVars y demás, haciendo mucho mas fácil el desarrollo de auténticas aplicaciones multimedia.

Veo capas, veo frames, veo una línea del tiempo...Ya hemos dicho que Flash tiene mucho de animación.Frame: Un frame es un fotograma, como el de las películas, una imagen estática, y cuando se pasan muchas rápido dan la sensación de movimientoAnimación FrameByFrame: Es la animación cuadro a cuadro, o fotograma a fotograma, se usa sobre todo en dibujos animados cuando las cosas no se pueden hacer ni por MotionTween ni por ShapeTweenMotion Tween: Interpolación de movimiento para los hispano parlantes, lo que hace es "rellenar" los fotogramas vacíos de una animación, donde se estable un objeto en el primer frame en una posición y en el último el mismo objeto pero en otra. La interpolación de movimiento calcula donde debería estar el objeto en los frames intermediosShape Tween: Similar al MotionTween, pero esta vez juega con las formas [solo trabaja con vectores, ni imágenes ni objetos] El resultado suele ser bastante malo al principio, y se tiene que trabajar bastante la animaciónLínea del tiempo o timeline, esta formada por los frames, no es mas que "el rollo de película" que contiene a los fotogramas. Cada MovieClip tiene su propio timeline, aunque todos van a la velocidad del principal [fps]FPS: Frames Per Second, frames por segundo, esto es la velocidad en la que pasaran los frames en una película. 12FPS es que se ejecutaran 12frames en un segundo. La velocidad por defecto es 12fps, aunque 24fps y 30fps también son usados, pero para cuando se quieren animaciones mas "fluidas"Capas: [o layer] Como en otros programas de dibujo las capas sirven para organizar el contenido. Puedes reorganizar las capas arrastrándolas a tu gusto, las que estén superiores a otras las "taparán". Como en la realidad, si tú tienes varios objetos y pones uno encima de otro, los inferiores se ocultan [total o parcialmente] por aquellos que están encimaProfundidad: No hay que confundir con el concepto de capa, aunque son similares. Tomando un espacio tridimensional, formado por 3 ejes perpendiculares entre sí XYZ. Tomamos la X como la anchura del monitor, la Y como la altura y la Z como la "profundidad" que va desde la pantalla hasta la parte de atrás del monitor. Mientras que en una capa puede haber varios objetos, en una misma profundidad no, si se carga un objeto a una profundidad donde ya existía algo, éste será reemplazado por el nuevo objeto.

La problemática con las fuentesUna fuente [font] es una tipografía, un tipo de letra, como por ejemplo "Arial", "Verdana" , "comic Sans",...Flash tiene 3 tipos de campo de texto, los estáticos, los dinámicos y los de introducción de texto. Muchas veces usamos letras que no están en todos los ordenadores, por eso flash puede añadirlas a los SWF a fin de que se vea como queramos en todos los ordenadores, en caso de que no estuvieran y no se "exportan" [o se embeben] en el SWF flash usaría la más "parecida", volviendo en impredecible el resultado final.

Page 32: Action Script FLASh

En los campos estáticos Flash transforma el texto en formas a la hora de crear el SWF, con lo que quizás pueda perder algo de calidad y se vea "borroso" para eso están las píxel fonts [hablaremos después de eso] En cambio en los campos de texto dinámicos flash no exporta las fuentes automáticamente, tendrás que ser tu quien se lo diga. La forma mas fácil es como se explica aquí:

Propiedades del campo de texto

Opción de Exportar Fuentes

También hay otra posibilidad de ir a la biblioteca, y crear ahí una nueva fuente, pero por el momento la dejaremos ahí aparcada.

Es importante saber que si cuentas con la versión MX 2004 (7) de Flash tienes una opción que hace un poco mas fácil las cosas con las tipografías.Existen tipografías que como las pixelfonts fueron diseñadas para pantalla, una de las más populares es Verdana, lo bueno es que esta tipografía fue diseñada para caer justo en los

Page 33: Action Script FLASh

pixels en varios tamaños de punto del 9 al 12 y aún más.Y usando la opción de “texto de alias” que está en las propiedades de texto, reconoce la fuente de píxel y la acomoda automáticamente, por lo que no hace falta ubicarlas en coordenadas absolutas.

Ejemplo

Píxel Fonts... he odio hablar, pero que son?Estas son fuentes de pequeño tamaño, que están hechas a base de pixels para que se vea bien. Su tamaño en general suele ser 8 o múltiplos de 8 [16, 24,3,....etc.] Además de eso los campos de texto que las contengan tienen que estar en coordenadas exactas [por ejemplo 32.0 51.0 etc. etc.] y alineados a la izquierda. Esto es porque al estar hechas a base de píxeles, los rellenan por completo y no crean esa sensación de estar "borrosas". [Explicación: Cuando un píxel es invadido por dos colores, por ejemplo el fondo blanco y la letra negra, este hace una mezcla de ambos -gris- y lo muestra como resultado, creando esa sensación de borroso]

Nos vamos conociendo... vamos a empezar con el trabajo de campoMucha gente se lía cuando se le habla de "instance names" o "nombres de instancia", de exportar las fuentes [embedFonts] y demás, así que vamos a por ello. Flash usa un lenguaje de POO [Programación Orientada a Objetos] Hay que diferenciar entre Objeto e Instancia, imaginémonos en el mundo de la automoción, para nosotros los objetos [puros conceptos] serán los "coches en general" y las instancias "coches específicos", por ejemplo si yo hablo de un "Nissan Skyline" estoy hablando de un coche en general [objeto], en cambio si hablo de "Nissan Skyline con la matricula XXXX" eso es una instancia [la matricula seria el instance name] ya que estoy hablando de un determinado coche. Pero no hay que confundirse, todo coche que sale de fabrica es una instancia, una representación de un

Page 34: Action Script FLASh

objeto [concepto], al hablar de "Nissan Skyline" hablo del coche como concepto, no de un determinado "Skyline", si no puramente de la idea de ese coche.

Esto puede resultar un poco difícil al principio, pero es cuestión de tiempo el captar la idea. Los objetos se guardan como "Símbolos" en la Biblioteca, le puedes cambiar el nombre a los símbolos, pero ese NO ES su instance name |Imagen| Los instance name servirán a igual modo que las matriculas, para diferenciar e identificar ciertos objetos, a fin de poder controlarlos mejor. Quizás hayas oído hablar de las "clases", no son mas que objetos conceptuales, así que tomaremos clase = objeto, pero clase es diferente de instancia OK?

Mamá quiero ser programador!!Uno de los problemas que se encuentra mas comúnmente a la hora de empezar a programar con Flash son las rutas!euh?que?comorr? R-U-T-A-S , en realidad es sencillo. Siguiendo con la metáfora anterior todos sabemos que un coche esta formado por varias partes, y a su vez por más partes y estas aún en más. Por ejemplo si queremos saber la "carrera" [longitud] de un cilindro del coche no vale con decir cilindro._carrera ... tendríamos que primero ir al coche, después al motor, finalmente al cilindro y entonces medir la longitud. Si pensamos en "coche" como un MovieClip [MC] que contiene a otro MC "motor", y éste a su vez a otro llamado "cilindro" pues para medir su longitud tendremos que hacer coche.motor.cilindro._carrera; [ruta absoluta] En cambio si ya nos hayamos en el coche solo tendremos que hacer motor.cilindro._carrera [ruta relativa]

Para que te hagas una mejor idea, seguro que tienes contacto con algún visor de carpetas [MiPc / Explorador de Windows.... etc.] Las Rutas absolutas son las que empiezan por C:\ [en Flash por _root -raiz en ingles-] Si queremos abrir Flash tendríamos que hacer C:\Archivos de Programa\Macromedia\Flash\Flash.exe esta forma funciona estemos donde estemos, en cambio si estamos en la carpeta "Macromedia" bastara con usar Flash\Flash.exe esta segunda versión es más corta, pero suele dar mas problemas. **NOTA** en flash se usa el punto "." como separador, en vez de "\" o "/"

_root / _parent / this_root es la "raiz", hace referencia al objeto más alto que haya, en Flash es el escenario, en windows es C:\ [o la unidad pertinente] y en Linux... sigue siendo root! MWHAHAHA_parent para las rutas relativas, esto hace referencia al nivel superior, además se puede poner varias veces. por ejemplo el _parent._parent de "cilindro seria "coche", motor es el nivel superior de cilindro y coche el de motor [2 _parent] **NOTA**: aunque pongas 6millones de _parent, el objeto mas alto es el escenario [_root] y por más que pongas de ahí no pasarathis es... el mismo objeto, el this de cilindro es "cilindro". Para que sirve? bueno, las propiedades/eventos/métodos pertenecen a una clase/objeto y por tanto tienen que hacer referencia a la misma, si estamos en cilindro y queremos medir su carrera, tendremos que usar this._carrera , usar _carrera a secas nos proporcionaría un error.

ComponentesQué son? Bueno, los componentes, originalmente se llamaban SmartClips!, "Clip inteligentes", son clips[movieClips/MC/movies -como quieras llamarlos] que vienen programados, listos para soltar en el escenario y usar. Cuál es su función? Bueno, eso

Page 35: Action Script FLASh

depende para lo que estén programados, pero por ejemplo piensa que quieres poner un calendario en varias paginas webs, pues podrías ir y programarlo en cada uno de las paginas o por el contrario lo programas una vez, lo conviertes a símbolo y en el resto de paginas solo tendrás que soltarlo en el escenario y ya funcionara.

La creación de componentes es un tema "avanzado" y lo dejaremos para otro momento, ya que hacer un componente bueno y personalizable al 90% es muy ardua tarea. Hay sitios webs como miles de componentes para diversas funciones, te ahorraran trabajo [o no, ya que normalmente suele ser difícil cambiar su aspecto gráfico]

Programación en archivos externosEste es otro punto que explicaremos - para que no os suene a raro- pero que no llegaremos al fondo. Flash facilita la programación añadiendo soporte a los archivos externos, estos son usados como las librerías de otros lenguajes o incluso como clases. Flash a la hora de compilar cojera el contenido de ese archivo externo y lo añadirá al SWF. Esto es útil si programas alguna función o método que rehusarás en varios proyectos, si la tienes en un archivo externo, solo tendrás que modificar UN archivo, mientras que de la otra forma tendrías que modificar todos y cada uno de los swf que contengan esa función.

Cosas que nunca debes hacerEn este punto me alejo un poco de Flash y me centro en lo que no deberíais de hacer al empezar con Flash.

No tengáis prisa en aprender, se aprende más intentándolo uno mismo que cogiendo el código de los demás así que : NO PIDAS CÓDIGO AJENO

No intentes hacer algo que te supera, actualmente NO SE PUEDE HACER DOOM 3 CON FLASH

SE REALISTA, no te creas el rey del mambo por hacer un scroll de barra, es decir, que tengas los pies en la tierra, mires a tu alrededor y compruebes si realmente es algo espectacular, todos nos entusiasmamos cuando conseguimos hacer algo que se atrancó

AYUDA A LA COMUNIDAD, como ella te ha ayudado a ti [oups que bíblico suena eso], no se pide que regales tu tiempo en el foro, ni que dejes tu web como open-source, solo UNA PARTE DE ELLO.

A menos que pagues, aquí nadie está para servirte, así que, NO TENGAS PRISA A LA HORA DE SER CONTESTADO, nadie trabaja en el foro las 24 horas del día, muchos de nosotros le robamos tiempo a los estudios/trabajos para dedicárselos a Cristalab.

Mira la sección de Reglas del foro