Foros del Web » Creando para Internet » Flash y Actionscript »

Error Combobox AS3 Flash

Estas en el tema de Error Combobox AS3 Flash en el foro de Flash y Actionscript en Foros del Web. Hola a todos, estoy haciendo un formulario en Flash y AS3 y en la libreria tengo un MC llamado form_mc que contiene un seguido de ...
  #1 (permalink)  
Antiguo 05/10/2010, 04:53
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Error Combobox AS3 Flash

Hola a todos, estoy haciendo un formulario en Flash y AS3 y en la libreria tengo un MC llamado form_mc que contiene un seguido de textFields y Combobox.

A continuación instancio mi MC
Código:
var contact_mc:MovieClip;
contact_mc =  new form_mc();
Cuando quiero llenar el contenido de uno de los ComboBox del formulario mediante los datos que recibo de un archivo XML de la siguiente forma:

Código:
var country_ar:Array = new Array();

for (var i=0; i<10;i++)
{
    country_ar.addIem({label:xmlList.countries.country[i], data:xmlList.countries.country[i]});
}
contact_mc.country_cb.dataProvider = country_ar;
Cuando compilo el código me dice: "TypeError: Error #1006: addIem no es una función."

Alguna idea de como llenar el ComboBox?
  #2 (permalink)  
Antiguo 05/10/2010, 05:30
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Error Combobox AS3 Flash

Hola, he encontrado el error, en vez de declarar un Array, hay que declarar un DataProvider, así queda de la siguiente forma:

Código:
var country_ar:DataProvider = new DataProvider();

for (var i=0; i<10;i++)
{
    country_ar.addIem({label:xmlList.countries.country[i], data:xmlList.countries.country[i]});
}
contact_mc.country_cb.dataProvider = country_ar;
Pero se me plantea otra duda: Como puedo cambiar el color del ComoboBox? me aparece en tonalidades azules, y yo querría cambiarlo a tonalidades verdes por ejemplo.


Muchas gracias por su tiempo
Pimager
  #3 (permalink)  
Antiguo 05/10/2010, 05:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Error Combobox AS3 Flash

Cita:
Iniciado por Pimager Ver Mensaje
Hola a todos, estoy haciendo un formulario en Flash y AS3 y en la libreria tengo un MC llamado form_mc que contiene un seguido de textFields y Combobox.

A continuación instancio mi MC
Código:
var contact_mc:MovieClip;
contact_mc =  new form_mc();
Cuando quiero llenar el contenido de uno de los ComboBox del formulario mediante los datos que recibo de un archivo XML de la siguiente forma:

Código:
var country_ar:Array = new Array();

for (var i=0; i<10;i++)
{
    country_ar.addIem({label:xmlList.countries.country[i], data:xmlList.countries.country[i]});
}
contact_mc.country_cb.dataProvider = country_ar;
Cuando compilo el código me dice: "TypeError: Error #1006: addIem no es una función."

Alguna idea de como llenar el ComboBox?
bueno, es que eso es totalmente TRUE
no hay por ahora una función addIem, la más cercana es addItem
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #4 (permalink)  
Antiguo 05/10/2010, 07:19
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Error Combobox AS3 Flash

Hola mortiprogramador, lo de addIem es una errata cuando he copiado el código, pues mi clase hace muchas más inicializaciones que no vienen a cuento y no quería ponerlas para no destorbar lo que es importante.
De todas formas el problema de llenar los "combobox" ya lo he solucionado con un "DataProvider" en lugar de con un "Array".

Mi duda es como puedo hacer para cambiarles las tonalidads a los combobox, ya que estos por defecto salen con tonalidades azules al hacer "rollover, rollOut, ..." y yo querría que fueran tonalidades verdes, por ejemplo

Espero que alguien pueda solucionarme el problema.

Muchas gracias
Pimager
  #5 (permalink)  
Antiguo 05/10/2010, 07:43
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Error Combobox AS3 Flash

Cita:
Iniciado por Pimager Ver Mensaje
Hola mortiprogramador, lo de addIem es una errata cuando he copiado el código, pues mi clase hace muchas más inicializaciones que no vienen a cuento y no quería ponerlas para no destorbar lo que es importante.
De todas formas el problema de llenar los "combobox" ya lo he solucionado con un "DataProvider" en lugar de con un "Array".

Mi duda es como puedo hacer para cambiarles las tonalidads a los combobox, ya que estos por defecto salen con tonalidades azules al hacer "rollover, rollOut, ..." y yo querría que fueran tonalidades verdes, por ejemplo

Espero que alguien pueda solucionarme el problema.

Muchas gracias
Pimager
ujum.. bueno, pues ya esta solucionado
en cuanto al diseño, cual flash estas usando?
yo estoy probando en cs4 y por defecto es un verde claro
pero buscando un poco se encuentra
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #6 (permalink)  
Antiguo 06/10/2010, 03:11
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Error Combobox AS3 Flash

Hola mortiprogramador, gracias por el link y la ayuda, pero creo que aun no lo consigo, te cuento.

Estoy usando Flash CS4 y me muestra tonalidades azules.
En el ejemplo que me linkaste usa la propiedad "setStyleProperty" y cuando compilo el flash me dice que dicha propiedad no existe:

"ReferenceError: Error #1069: No se encontró la propiedad setStyleProperty en fl.controls.ComboBox y no hay ningún valor predeterminado."

Por otro lado, sí que me reconoce la propiedad: "contact_mc.country_cb.setStyle("backgroundCol or", 0x000000);", pero no me modifica el color del fondo de mi CB. No sé porque me escribe "backgroundColor" separado, pero en el código lo tengo junto.

No será que no puedo porque mi CB está dentro de un MC? yo diría que no, pero ya no sé que pensar.


Gracias por tu tiempo otra vez,
Pimager
  #7 (permalink)  
Antiguo 06/10/2010, 03:14
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Error Combobox AS3 Flash

Para recordar, y por si sirve de ayuda, estoy con Flash CS4 y AS3

Pimager
  #8 (permalink)  
Antiguo 06/10/2010, 17:00
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Error Combobox AS3 Flash

bueno, encontre esto y esto
además, estuve haciendo pruebas y por código cambia el texto, así

Código actionscript:
Ver original
  1. var myFormat:TextFormat=new TextFormat()
  2. myFormat.size=14;
  3. myFormat.color=0xFF0000;
  4. combo.textField.setStyle("textFormat",myFormat);
  5. combo.dropdown.setRendererStyle("textFormat",myFormat);

esto cambia tamaño y color del texto solamente, y por código
aún no encuentro el modo de cambiar el resto del diseño,
pero mientras puedes hacerlo manualmente dando doble clic
sobre el combo, y con eso entras a los distintos "momentos" o "estados"
del combo, y ya dentro de cada uno cambias lo que quieres

espero te sirva
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 06/10/2010 a las 17:36
  #9 (permalink)  
Antiguo 07/10/2010, 01:40
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Error Combobox AS3 Flash

Muchas gracias, me ha servido, al final lo he hecho personalizando cada uno de los estados a mano, no es óptimo, pero es lo que hay.

Muchas gracias mortiprogramador por tu tiempo
Pimager

Etiquetas: as3, combobox, flash
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:22.