Comunidad de diseño web y desarrollo en internet online

combobox+loadmovie

Citar            
MensajeEscrito el 08 Sep 2005 05:12 am
hola, disculpen ya se que no se puede hacer pero...
le he dado vuelta en la cabeza de como hacerlo pero no le llego!

La pregunta es como utilizar un combobox para cargar peliculas externas, ya me relei los tutoriales de combobox y listeners por aquello que me envien alla otra vez :oops: y ni aun asi!

les pido que el que me pueda ayudar no lo dude en hacer, ya que no creo que lo pueda hacer solo...



de antemano agradezco la ayuda

Por geracmx

9 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Sep 2005 07:57 am
Bien, vamos a hacer esto... Bájate los archivos del tutorial, los puedes encontrar en el tutorial a la derecha, donde sale mi avatar.

Ahora ábrelo y cambia el xml que hay por este.

Código :

<doc>
   <pelis texto='Home' peli='home.swf' />
   <pelis texto='Portfolio' peli='portfolio.swf' />
   <pelis texto='Contacto' peli='contacto.swf' />
</doc>


Lo que nosotros queremos coger son los ATRIBUTOS texto y peli. El atributo texto nos servirá para ponerlo como etiqueta en el ComboBox y el atributo peli, será lo que cargará esa label.

Bien, ahora abre el archivo de flash. Primero de todo borra lo que hay en el escenario y deja en la biblioteca solamente el combobox.

Pulsa F9, cambiaremos un poco el código para poner solo lo que nos es necesario. Si te fijas el código consta de tres partes, la carga del xml, la función para llenar el combobox y el listener para saber cuando cambiamos una opción en el combobox.

Borra TODO el código que hay y vamos a poner el nuevo, que es prácticamente igual.

Primero cargamos el XML, todo es igual solo que hemos cambiado los nombres de los atributos que queremos recoger. Esto no hubiese hecho falta cambiarlo, pero le hemos puesto otros nombres para hacerlo más claro.

Código :

//Cargamos el XML
pelis_xml = new XML();
pelis_xml.ignoreWhite = true;
pelis_xml.onLoad = function (success){
   if (success){
      //Creamos los arrays donde iran los datos
      largo = pelis_xml.firstChild.childNodes.length;
      nombre = new Array(largo);
      pelis = new Array(largo);
      
      //Llenar los arrays
      for (i=0; i<largo; i++){
         nombre[i] = pelis_xml.firstChild.childNodes[i].attributes.texto;
         pelis[i] = pelis_xml.firstChild.childNodes[i].attributes.peli;
      }
      
      llenarCombo();
   }
   else{
      trace("No se pudo cargar el XML");
   }
}
pelis_xml.load("ComboBox.xml");


Ahora llenamos el combobox con los datos que hemos recogido del xml. Aquí hemos quitado algo de código sobrante (que se podía dejar de todas formas) y hemos cambiado los nombres de las variables.

Esta parte también se podría haber dejado igual, pero para hacerla un poco más clara hemos quitado algo de código y puesto los nombres correctos.

Código :

/************* FUNCIONES ****************/

function llenarCombo(){
   //Atacheamos nuetro componente
   attachMovie("ComboBox", "miDesplegable", 2);

   //Propiedades
   miDesplegable.setSize(170, 22);
   miDesplegable.dropdownWidth = 200;
   //miDesplegable.editable = true;
   miDesplegable.text = "nombre a realizar";
   
   //Le asignamos un proveedor de datos
   losDatos = new Array();
   miDesplegable.dataProvider = losDatos;
   
   //Metemos los datos en el ComboBox
   for (i=0; i<nombre.length; i++){
      losDatos.addItem({ label: nombre[i], data: pelis[i] });
   }
   
   //Eventos
   miDesplegable.addEventListener("change", alSeleccionar);
}


Para acabar los listeners. Aquí hemos quitado los que no interesaban, simplemente hemos dejado el change que es el que se activa cuando clicamos en una opción.

En el change hemos añadido el código para cargar una película externa, que son solo dos líneas.

Código :

/************* LISTENERS ****************/

//Listeners para cuando seleccionamos alguna opcion
alSeleccionar = new Object();
alSeleccionar.change = function(evento){
   trace("Has seleccionado " + evento.target.value);
   
   //Creamos un contenedor para las pelis
   createEmptyMovieClip("contenedor", 1);
   
   //Cargamos la peli
   loadMovie(evento.target.value, contenedor);
}




*****************CONCLUSIÓN *****************

Añadiendo solamente DOS LÍNEAS al código original que hay en los archivos de descarga del tutorial podías haber hecho lo que querías, lo que me lleva a pensar dos cosas:

1) No has leído el tutorial.

2) No te has esforzado en entender el tutorial.

Léase que remarco la palabra "entender", porque solo leyendo no se aprende en el mundo de la informática.

La próxima vez tírate más rato delante del pc porque yo tengo muchas dudas más que resolver a parte de las tuyas, más tutoriales, más ejemplos, más proyectos, más mi propio trabajo, más mi propia vida... ¬¬

Y al fin y al cabo me alegro haberte ayudado, pero hazme ese favor, esfuérzate un poco más la próxima vez.

Deu!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 20 Jun 2008 08:17 pm
elecash tuve inconvenientes con el codigo que pasaste, es decir no me trae la pelicula al escenario cuando la llamo desde el comboBox, modifique un poco el codigo pero tampoco funciona podrais ayudarme? muchas gracias

//Cargamos el XML
pelis_xml = new XML();
pelis_xml.ignoreWhite = true;
pelis_xml.onLoad = function (success){
if (success){
//Creamos los arrays donde iran los datos
largo = pelis_xml.firstChild.childNodes.length;
nombre = new Array(largo);
pelis = new Array(largo);
//Llenar los arrays
for (i=0; i<largo; i++){
nombre[i] = pelis_xml.firstChild.childNodes[i].attributes.texto;
pelis[i] = pelis_xml.firstChild.childNodes[i].attributes.peli;
}
llenarCombo();
}
else{
trace("No se pudo cargar el XML");
}
}
pelis_xml.load("comboBox.xml");
/************* FUNCIONES ****************/
function llenarCombo(){
//Atacheamos nuetro componente
attachMovie("ComboBox", "miDesplegable", 2);
//Propiedades
// miDesplegable.setSize(170, 22);
// miDesplegable.dropdownWidth = 200;
//miDesplegable.editable = true;
miDesplegable.text = "nombre a realizar";
//Le asignamos un proveedor de datos
losDatos = new Array();
miDesplegable.dataProvider = losDatos;
//Metemos los datos en el ComboBox
for (i=0; i<nombre.length; i++){
losDatos.addItem({ label: nombre[i], data: pelis[i] });
}
//Eventos
miDesplegable.addEventListener("change", alSeleccionar);
/************* LISTENERS ****************/
//Listeners para cuando seleccionamos alguna opcion
alSeleccionar = new Object();
alSeleccionar.change = function(evento){
trace("Has seleccionado " + evento.target.value);
//Creamos un contenedor para las pelis
var holder = _root.createEmptyMovieClip("holder_mc", this.getNextHighestDepth(), {_x:242.2, _y:195.2});
holder.loadMovie(evento.target.value,holder_mc);
}
}

Por rehipo

3 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 11 Nov 2009 02:25 pm
hola elecash aplique tu codigo y tngo el siguiente problema.. solo me muestra siete opciones de las 150 que contiene mi xml... que puede estar pasando?

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

msie8

 

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