Comunidad de diseño web y desarrollo en internet online

Como se carga un fichero SWF mediante ActionScript

Citar            
MensajeEscrito el 22 Jul 2008 11:14 am
Me gustaria saber como puedo cargar un fichero SWF desde la parte de Script de un fichero MXML

Yo estoy haciendo:

<mx:Script>

<![CDATA[

private var swfLoader:SWFLoader = new SWFLoader();

private function refrescarDiagramas (): void
{

var lc:LocalConnection = new LocalConnection();
lc.connect("conexionPrueba");
}

private function recibirparametros (diagrama : Class, pasoGeneral : String) : void
{
if (model.bibliotecaActiva == "SW Labs")
{
swfLoader.source = (diagrama);
pasoGeneral.addChild (swfLoader);//ESTO ES LO QUE CREO QUE HAGO MAL
}
}

]]>

</mx:Script>

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Jul 2008 11:35 am
Seguramente te da un error, ¿cual?
¿Que es pasoGeneral?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2008 11:49 am
Exacto,eso es lo que esta mal, pero es que no se como hacer para que me coja el id (identificador de la Vbox) donde quiero carga el fichero SWF

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Jul 2008 12:56 pm
Ok, again


Seguramente te da un error, ¿cual?
¿Que es pasoGeneral?


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 22 Jul 2008 01:10 pm
El error que me da es el siguiente:

"LLamada a un metodo addChild posiblemente no definido mediante una referencia con tipo estatico String"

Se supone que PasoGeneral tiene que ser el id (Identificador) de la Vbox donde quiero cargar el fichero SWF, pero al estar en otro fichero MXML distinto no se como obtenerlo y poder asi lanzar el addChild.

Me podrias decir como solucionar mi problema. Gracias.

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Jul 2008 01:57 pm
No puedes hacer referencia a algo que no existe (tu MXML no sabe de otros MXML), tienes que comunicar ambos de alguna forma. Si ambos son Application, la forma es LocalConnection, como ya discutimos en otro thread. Si uno incluye a otro, entonces si hay posibilidad de conectarlos directamente.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 06:45 am
Lo de incluir uno en otro lo he probado, pero no me funciona o no lo hago bien que es lo mas probable que mepase. Uno de los fichero MXML se llama Paso1Mind.mxml y el otro Botonera.mxml. ¿¿¿¿Como se incluiria uno en otro¿????????

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 09:55 am
Tienes que crearlo como componente o módulo. Si es una botonera por ejemplo, vas a menu File, New MXML Component, pones en que componente quieres basarte (usualmente es Canvas, pero puedes elegir cualquiera), y luego armas allí tu componente. Cuando lo terminas, lo guardas, vuelves al MXML principal, verás que en la lista de componentes, hay una categoría que dice Custom, donde encontrarás todos los componentes que crees de esta manera. Lo arrastras el escenario y ya tienes tu componente listo. Si quieres usar una ruta absoluta a Application (lo que sería _root en Flash) puedes usar Application.application.algunMetodo() -no te olvides de importar mx.core.Application

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 10:13 am
Yo no quiero incluir uno en otro, lo que quiero es poder tener visibilidad. Es decir poder referenciar los componentes de Paso1Mind.mxml desde el fichero Botonera.mxml.

Yo lo que quiero es poder cargar una imagen dinamicamente desde Botonera.mxml en una Vbox de Paso1Mind.mxml

La parte de imcumbencia del codigo de Botonera.mxml es el siguiente:

private function refrescarDiagramas (): void
{

if (model.bibliotecaActiva == "SW Labs")
{

swfLoader.source = (Imagenes.diagramaAcordeon223);
paso1.addChild(swfLoader);
/////paso1 es el ID de la Vbox de Paso1Mind.mxml////
////Aqui el compilador me da error, me viene a decir que no "ve" paso1////
}

}

La parte de incumbencia del codigo Paso1Mind.mxml es el siguiente:


<mx:VBox
id="paso1"
height="{altoDiagramaPrincipal}"
width="100%"
horizontalScrollPolicy="off"
verticalScrollPolicy="off"
verticalGap="0"
horizontalGap="0"
horizontalAlign="center">
<mx:SWFLoader id="swfLoaderDiagrama" source="{Imagenes.diagramaAcordeon331}"/>

</mx:VBox>

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 10:20 am
Yo no quiero incluir uno en otro, lo que quiero es poder tener visibilidad. Es decir poder referenciar los componentes de Paso1Mind.mxml desde el fichero Botonera.mxml.


Creo que ya lo he contestado (LocalConnection) y volvemos al mismo punto. Evitemos el círculo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 10:29 am
Ambos ficheros (Botonera.mxml y Paso1Mind.mxml) NO son Application. En una respuesta anterior me dijiste:


No puedes hacer referencia a algo que no existe (tu MXML no sabe de otros MXML), tienes que comunicar ambos de alguna forma. Si ambos son Application, la forma es LocalConnection, como ya discutimos en otro thread. Si uno incluye a otro, entonces si hay posibilidad de conectarlos directamente.


¿¿¿Entonces???

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 10:33 am
SI no son Application, ¿que son, módulos, componentes? ¿En donde están (no me digas dos MXML)?, o más tecnicamente hablando si quieres, ¿que relación de scope tienen?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 10:49 am
Mi proyecto esta compuesto de muchos fichero MXML. Tiene estructura de arbol. EL principal es el Application. Dentro del application hay varias llamadas, entre ellas:

<mind:Mind id="mind"/> --Esto es un fichero MXML
<mido:Mido id="mido"/>
<mito:Mito id="mito"/>

Dentro de <mind:Mind id="mind"/>, esta:

<mind:MindFicha/>
<mind:ContenedorPantallasMind selectedIndex="{model.opcionFichaPulsada}"/>

Y ya dentro de <mind:ContenedorPantallasMind selectedIndex="{model.opcionFichaPulsada}"/> se encuentra:

<mind:InicioMind/>
<mind:Paso1Mind/>
<mind:Hito1Mind/>
<mind:Paso2Mind/>
<mind:Hito2Mind/>
<mind:Paso3Mind/>
<mind:Hito2Mind/>
<mind:FinMind/>


Mas o menos, me entiedes ahora

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 10:50 am
Es decir, son Componentes

Por sanetes

46 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 11:48 am
Vale, son componentes, ahí nos hubiéramos ahorrado la mitad del thread.
Entonces para poder acceder a un componente, debes ponerle un id, por ejemplo

<mind:ContenedorPantallasMind id="pantallas" selectedIndex="{model.opcionFichaPulsada}"/>

Luego ya le hablas via id, por ejemplo

pantallas.selectedIndex = 2

Cada componente que quieras referenciar desde tu Application, tiene que tener un id (que vendría a ser como el nombre de instancia en Flash)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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