Necesito AYUDA de sabios programadores.
Este mensaje ha sido ya publicado en el foro PROGRAMACIÓN SERVIDOR y no sé si fue lo correcto, por lo que vuelvo a postearlo aquí en PROGRAMACIÓN CLIENTE. Disculpar las molestias.
Hola a todos! Estoy realizando un proyecto personal sobre Gráfica Digital y Electrografia ( www.electrografia.com ) y al no tener conocimientos de xml ni actionscript, no soy programador, voy tirando de componentes y demás código posteado por la red que adapto más o menos a mis necesidades. La web está casi terminada a falta de algunos detalles y contenidos que estoy esperando de diferentes artistas.
Una de las secciones (GRAFICA) carga una movie que está formada por una lista de seis elementos, seis imágenes de electrografías y seis textos explicativos. Cada una de las fotos me permite abrir un popup html con la obra al completo y un texto con las características de la misma. Un par de botones me permiten cargar la siguiente movie (otros seis elementos) o retroceder a los seis anteriores. Todo por supuesto haciéndolo de forma manual y a base de colocar elementos uno a uno, snif.
¿Es posible mediante XML, AS, ASP o lo que sea, hacer más fácil y dinámico este proceso? Supongo que mostrar seis elementos a la vez, poder hacerles un link a un popup y pulsar un botón para pasar a los seis siguientes no será algo muy fuera de lo común, no sé. He visto por ahí algún código que se podría con las sabias modificaciones, adaptarse a mi 'problema'.
Espero que alguien pueda ayudarme para poder agilizar la puesta en marcha de este proyecto que espero disfruteis todos.
Muchísimas gracias y saludos a todos.
orange
En primer lugar decirte que no soy un sabio programador de actionscript, me defiendo mejor con otras cosas.
Para lo que quieres hacer no creo necesario acudir a herramientas externas al propio Flash (véase PHP, ASP, etc...).
Te cuento un poco la idea que tengo, y si te interesa la desarrollamos.
Si quieres automatizar el proceso de carga de las imágenes yo utilizaría duplicateMovieClip (echa un ojo a la ayuda), que, como su propio nombre indica, duplica un movieclip tipo.
Mediante un contador y un bucle iría imprimiendo ese movieclip las veces que quieras (en tu caso 6) tomando como valores variables para cada uno el nombre de la miniatura, de la peli del popup y el texto explicativo.
La información sobre esas cosas la metería en un array en la propia peli, de modo que, si quieres meter alguna foto más, sólo tienes que poner los archivos y meter los datos en el array. Como mediante tu bucle vas a recorrer todo el array, al meter más datos en él, se te crearía automáticamente un nuevo movieclip con la electrografía.
Espero haberte ayudado y no haberte liado más ;)
playground
yo opino igual. miclip.duplicateMovieClip puede ser lo mejor. pero si te interesa utilizar XML por lo que sea también lo puedes hacer así, duplicanto tantas veces como nodos haya en el archivo XML. yo tengo hecho algo parecido. si te interesa hablamos :)
raulleon
Muchas gracias por vuestra ayuda e interés.
Intentaré explicaros mejor el tema en cuestión y el porqué pienso que es mejor el xml a parte de no estar modificando el .fla constantemente, aunque puedo estar equivocado ya que no entiendo mucho de AS y demás dinamismos flasheros.
He colocado una demo de lo que sería la página en http://www.electrografia.com/menu.html. Es la sección GRAFICA.
Esta sección es una movie externa que debería empezar a cargar los datos (imagenes y textos de 6 en 6)...esto ya lo había comentado. Ahora supongamos primero que en un xml tenemos las imagenes pequeñas y los textos que se van cargando cada uno en su sitio. Segundo sería poder pulsar sobre la foto u otro elemento grafico para ver la electrografía al completo (popup externo o lo que sea). Tercero, tener un par de botones que nos permita ir a la pág. siguiente con otros seis elementos o volver a los seis anteriores. Y cuarto, mostrar el número de páginas que hay actualmente.
Cuando hago referencia al xml es porque he visto en http://www.flashxl.com un .fla que te permite abrir una imagen, un texto y un link a partir de un xml externo y poder ir añadiendo elementos sin tocar la película.
No sé si esta sería la mejor solución o si sería vuestra idea de duplicate.MovieClip. Confío en vuestros conocimientos para poder dar a luz un proyecto que espero sea de vuestro interés y agrado.
Espero vuestras recomendaciones...
Por cierto, la noche de drogas y alcohol en Marbella ya la teneís ganada ;-)
raulleon
Fuera punto en el Link http://www.electrografia.com/menu.html
orange
No he visto el FLa de FlashXL, pero me imagino que el uso de XML se hace únicamente para almacenar los datos específicos de cada imagen, y eso lo puedes meter en un array, en un fichero, en una BBDD ...
Yo te cuento cómo sería el modelo de estructura a mi parecer:
1. Un FLA con la interfaz del asunto.
2. Una función que se ocupase de imprimir las imágenes, de los enlaces y de la paginación.
3. Los datos específicos de cada imagen (miniatura, texto y enlace*)
* para asegurar la consistencia de los datos yo te recomendaría que llamases a las miniaturas como quisieras (pero siguiendo una regla), y a los popups los llamases popup_XXX.htm (donde XXX es el nombre de la miniatura). Asi ahorras un dato, ya que el enlace lo deduces.
El quid de la cuestión es la función que hace el trabajo, de dónde chupe los datos es cuestion de gustos.
Los puedes declarar en la propia peli con un array (la opción menos elegante, porque no constituye un diseño en capas), puedes utilizar un archivo externo XML (o TXT, o lo que quieras) y lees los datos de él (y así conoces un poco qué se puede hacer con XML/FLA, algo de lo que no tengo ni idea); o puedes atacar una base de datos que es la solución más PRO, pero la más trabajosa de implementar, no obstante, si tienes los datos en una BBDD, cualquiera (interfaz mediante) podría añadir nuevos archivos [OJO: incluyes una nueva herramienta para el cliente, pero pierdes dinerete de las actualizaciones ;)].
Lo que tiene que preocuparte es que seas capaz de, con ciertas variables, hacer correctamente la copia de movieClips, el resto vendrá sólo.
playground
yo lo unico que puedo decirte es que mires este enlace y si es lo que buscas te explico como. los cuadritos rojos se duplican y "rellenan" de datos (enlace, tamaño del pop up, nombre...) sacados de un xml. si es esto lo que quieres, que creo que si lo intentamos :)
playground
perdon, :( no he puesto el enlace www.gueb.de/funplayground
orange
Está interesante ... ¿todo lo generas dinámicamente?
¿Podrías comentar las partes más importantes del código y del XML?
raulleon
Orange no te preocupes por las 'actualizaciones' que el cliente soy yo mismo (todos vosotros) ya que este proyecto es personal y para la peña :-)
No sé si habeis visto la demo de la mc en cuestión aunque supongo que si. Lo que comenta Orange tiene buena pinta y lo de playground también, ya que se parece más a lo que me refiero (sólo faltaría un recorte de imagen).
Me explico con el material que preparo inicialmente. Con cada electrografia que quiero mostrar, preparo un recorte de esa imagen para mostrarla en la mc junto a su texto. Por otro lado preparo un html con la imagen al completo que es la que se pretende abrir en el popup a su tamaño justo. De esta forma y con estos elementos creo (a mi entender de poco conocedor de estos dinamismos) que la versión de playground es la que mejor se adaptaría en este caso, ya que el .fla no tendría que modificarse constantemente. ¿Es así? ¿Cómo lo veis vosotros?
De todos modos no me importaría enviaros la mc para que podais trastear un poco...
playground
bueno comento un poco a ver que tal. para empezar el XML seria algo así:
<datos>
<txt nombre="web" enlace="http://www.gsbase.com" tx="800" ty="650" sc="yes" pos="10"/>
</datos>
cada nodo es un botón que flash duplicará al leer el XML. si hay 10 lineas, se crearán 10 botones. Entonces lo primero que hay que programar es precisamente eso, leer el XML y duplicar al MC que contiene el botón y después ir introduciendo el resto de variables y datos (enlace, tamaño del pop up, si llevará scroll o no...).
Este tipo de cosas están muy bien porque si consigues que te quede bien ya no tendrás que actualizar la web nunca si no ir añadiendo líneas en el XML.
Lo complicaillo viene ahora en la programación de flash. Yo la pego directamente por si a alguien le interesa:
function parse() {
var enlace, tx, ty, pos, no;
var i = 0;
child = this.firstChild.childNodes;
for (j=0; j<child.length; j++) {
if (child[i].nodeName != null) {
enlace = child[i].attributes.enlace;
tx = child[i].attributes.tx;
ty = child[i].attributes.ty;
pos = child[i].attributes.pos;
sc = child[i].attributes.sc;
no = child[i].attributes.no;
c.duplicateMovieClip("c"+j, j);
this["c"+j].nombre = no;
this["c"+j]._x = ((j-1)*40);
this["c"+j]._y = pos;
this["c"+j].tx = tx;
this["c"+j].ty = ty;
this["c"+j].sc = sc;
this["c"+j].enlace = enlace;
}
i++;
}
}
datos = new XML();
datos.load("datos.xml");
datos.onLoad = parse;
c._visible = 0;
Ala ya tá.
raulleon
Con mis escasos conocimientos puedo comprobar que por ahí van los tiros...
De todos modos si no te importa darle un vistazo a la sección de GRAFICA en http://www.electrografia.com/menu.html te lo agradecería. Eso es practicamente lo que quiero mostrar. Al mediodía te envío por mail el .fla si no te importa, ya que en el curro no lo tengo.
Gracias por la labor humanitaria que estais haciendo.
orange
¿Cómo ha quedado la cosa al final?
raulleon
Pues ya está casi Orange. Yo tenía un código por ahí que con las sabias modificaciones de playground va más o menos. Todavía faltan algunos detalles por pulir, como el recuento de páginas y que no aparezca el botón de abrir popup cuando no haya nada cargado en ese campo.
Ahora le voy a enviar un mail a playground con las cosillas que faltan para ver si exprime el cerebro otro ratito y me lo deja fino. Si quieres te envío por mail una copia para que veas como va quedando el código y demás. Avísame si lo quieres.
Ahora estoy liado con los globitos esenciales de kali romiglia. Los coloco en una movie externa y al cargar esa movie en la principal no me funcionan ¿? Sabés a que puede ser debido?
Saludos y gracias por tu ayuda e interés.
raulleon
Pues ya está casi Orange. Yo tenía un código por ahí que con las sabias modificaciones de playground va más o menos. Todavía faltan algunos detalles por pulir, como el recuento de páginas y que no aparezca el botón de abrir popup cuando no haya nada cargado en ese campo.
Ahora le voy a enviar un mail a playground con las cosillas que faltan para ver si exprime el cerebro otro ratito y me lo deja fino. Si quieres te envío por mail una copia para que veas como va quedando el código y demás. Avísame si lo quieres.
Ahora estoy liado con los globitos esenciales de kali romiglia. Los coloco en una movie externa y al cargar esa movie en la principal no me funcionan ¿? Sabés a que puede ser debido?
Saludos y gracias por tu ayuda e interés.
orange
Claro hombre, postea el código o maándame los archivos a mi mail
:)
theMartix
Puede ser debido a que use _parent en cuando llama a movieclips etc... o algo por el estilo.
Una pregunta sobre lo que preguntaste. lo que haces es duplicar un clip con unas propiedades definidas en un xml? esto es muy interesante...
hasta luego
raulleon
Dentro de un rato, sobre las 23:00 pongo online una demo de la web para que puedas (podais) ver como va va el tema del código en cuestión.
En otra sección distinta de la web, estoy cargando otra movie que contiene elementos con globitos, asi los llama kali. La movie funciona bien, pero en cuanto es cargada en la principal, dejan de funcionar los 'globitos'. No sé como se podría solucionar eso theMatrix, ya que yo entiendo poco de código y demás.
Todas estas molestias espero que se vean compensadas cuando disfruteis de la web, si es que os gusta la electrografía y la gráfica digital.
Venga, nos vemos después de cenar.
theMartix
graficamente:
MG [OK]
MP [OK]
`-----------carga-------> MG [X] no funciona
seguramente que "kali" usa en su movie de los globecitos (MG) "_root" para llamar a la movie "globecitos", "root" quiere decir el nivel superior de todos.
En MG, _root.globecitos sería:
MG
`------------>globecitos
Pero en MP, _root.globecitos sería:
MG
`----------->globecitos - X no existe!! ---> no funciona
`
`----------->MG----------->globecitos ---> (*)
(*)la sentencia buena es, _root.MG.globecitos o más versatil, si lo tienes que usar con otras movies, _parent.globecitos.
No se si me he explicado... ah, _parent quiere decir padre...
Creo que este debe ser el problema...
raulleon
He revisado el código del componente en cuestión y la referencia se hace a _parent salvo en un caso que se hace a _root. Como no tengo ni idea de componentes no se hacer otra cosa que cambiar el valor de _root por _parent, pero tampoco va. :-(
No sé, quizás podría usar otro tipo de 'globitos' y acabo antes pero creo que el rollito de los componentes está bien y 'facilita' el trabajo.
Si no tienes los componentes esenciales de Kali Romiglia te podría enviar por mail el código si le quieres dar un vistazo.
Ojú.
theMartix
Si has puesto el .fla del componente globito en flash/first run/components y pones el componente desde la ventana componentes, no tienes que tener ningun problema, coges el boton al qual quieres que te vaya el cartelito y le metes el codigo que te pone allí que le metas, y te tiene que funcionar perfectamente, a mi me va...
Vigila de ponerlo en un boton y no en un movieClip, no es lo mismo...
si me quieres enviar el fla.. me lo miraré mañana cuando pueda, ah sobretodo no cambies nada de dentro los componentes, sino despues no te iran...
hasta luego,
raulleon
Y mi pregunta es ¿te funciona si esa movie donde tienes los globitos la cargas en una movie principal? Ese es mi problema, que donde están los globitos es en una movie externa. Funcionar me funciona ferpectamente, pero no cuando es cargada dentro de otra movie :-(
raulleon
Aprovecho la ocasión que me brinda la circunstancia :-) para agradecer la ayuda prestada.
Marbella Connection.
theMartix
lo voy a probar ;)
asta un segundo
raulleon
Tío, llevas 11 horas probando :-)
¿Sale o no sale?
theMartix
Ostia ahora me he perdido, pensé que lo habia posteado
¬¬'
a mi me sale,
ves a www.webpersonal.net/marti/glo.zip
enga