Comunidad de diseño web y desarrollo en internet online

Dar funcion a elemento Array

Citar            
MensajeEscrito el 05 Mar 2009 08:23 pm
Bueno, primero de todo... hola!

El caso es que como diseñador gráfico estoy haciendo mi website en flash en AS3, pero aún así no tengo ni pajotera idea de AS3, mi hermano que estudia para programaodor mas o menos me ayuda, así com en la uni también algo de ayuda recibo en el tema. (Resumen: soy un ignorante del tema).

Mi problema es el siguiente:
En mi web tengo una serie de botones, los cuales cargan un archivo externo (un swf) con las imagenes pertenecientes a cada proyecto. El problema vino cuando colgue provisionalemente la web, que obviamente tardava un huevo (o al menos era poco fluido) el tema de cargar un swf externo, así que ahora quiero trasladorlo al flash principal.

Al tema, esos botones cargan su archivo perteneciente en base a una variable con un Array con los nombres de los archivos, así que el primer elemento del Array carga el primer archivo i así sucesivamente. Ahora yo, al llevarlo todo dentro del mismo archivo, me gustaria que cada uno de los elementos de ese Array (obviamente, los elementos dejarian de ser archivos i serian simplemente nombres) hiciera una función. És decir cargar una función distinta por cada elemento Array... esto se puede hacer?, y si es así, como?

Para que lo entendais mejor, lo de las funciones lo quiero para así dar un nuevo Array según el botón que clique, y así cargar cada vez las fotos de cada proyecto mediante estos nuevos Arrays. Vamos que lo que quiero es dar un nuevo valor al primer Array, dependiendo del botón al que le de ^^.

Muchas gracias de antemano!

Por Ov

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Mar 2009 07:58 am
Ov, si tarda un huevo en cargar con carga dinámica, si metes todos los elementos en la película tardará un huevo más en cargar toda la película. Así que, por de pronto, recuerda que las imágenes en la web se ven con una resolución de 72 dpi (se suelen dejar a 90 dpi pero no me preguntes por qué porque no tengo ni idea (tú que eres diseñador lo sabrás mejor que yo) Así queno sirve de nada tener una imagen de 600 dpi, so pena que quieras que la gente se baje la imagen para imprimirla.

Vale, volviendo a tu pregunta, creo que lo que quieres (lo digo en "palabras flash"):Tener una serie de símbolos en la biblioteca, tener un Array con el nombre de esos símbolos, y añadirlos al stage según el botón que pulsemos.
Vale, cuando tenemos un símbolo en la biblioteca, le podemos dar un nombre para exportar. (supongamos que el nombre es "Simbolo1" sin las comillas)
Para añadirlo al stage vale con escribir

Código ActionScript :

var obj:Simbolo1=new Simbolo1()
addChild(obj)

Claro, eso es cuando sabemos a priori la Clase que vamos a añadir -en este caso, sabemos que es la Clase Simbolo1-. Si la renemos en una variable deberíamos usar uso de la función getDefinitionByName

Código ActionScript :

var nombre="Simbolo1";
var ClassReference:Class = getDefinitionByName(nombre) as Class;
var obj:Object = new ClassReference();
addChild(obj)

Como lo tenemos en un array, supongo que será

Código ActionScript :

function cargarImagen(e:Event){
    var index=e.target.tabIndex  //<--supongo que lo has guardado en el tabIndex
    var nombre="Simbolo"+index.toString();
    var ClassReference:Class = getDefinitionByName(nombre) as Class;
    var obj:Object = new ClassReference();
    addChild(obj)
}

Aunque recalco que, quizá tu problema sea que la resolución de las imágenes es muy grande

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Mar 2009 09:53 am
Buenas, gracias por la respuesta!
Lo de la resolución de las imágenes no creo que sea el problema, pues creo que todas las puse a 72dpi, i además, se cargan dinàmicamente en el swf que cargo encima del principal. Lo que creo que pasa, es cosa del hecho de cargar ese archivo externo que me relentiza un poco la cosa por un momento, és decir aun que las imágenes se carguen después parece que le cuesta cargar el archivo externo aunque ése solo sea código (casi). También creo que en el momento que me iba tan lento, los servidores deberian estar colapsados, pk borrando las cookies i tal, ahor ame carga bastante más ràpido.

La web es esta "http://telefonica.net/web2/oriolvalldeperas" , no todas los biotones funcionan però bueno, ahora no me parece que vaya tan lento.

Però aún así intentaré implementar el código que me has dado. Nose, el tema de cargar un swf externo dentro del principal, me parece que no és la solución más rapida, por eso preferieo meterlo todo junto.

A ver a ver, que sale, muchas gracias.

Por Ov

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.