Comunidad de diseño web y desarrollo en internet online

Acceder a libreria/escenario de un swf externo desde FLEX

Citar            
MensajeEscrito el 03 Feb 2011 02:31 pm
por lo que he mirado y he buscado mucho pero casi no he encontrado , quiero acceder a las funciones o ejor dicho fotogramas de componente que tengo en un swf desde flex,, aqui le dejo elcodigo si me pueden ayudar, no c cual es el problema

loader = new SWFLoader();
loader.load("images/menus/Menu_Productos.swf");
loader.addEventListener(Event.INIT, cargarLoader);


private function cargarLoader(e:Event):void
{
var Producto:MovieClip = e.currentTarget.content as MovieClip;
var Nuevo_mc:MovieClip = Nuevo_mc = Producto.nuevo_mc as MovieClip;

var Modificar_mc:MovieClip = Producto.modificar_mc as MovieClip;


ui = new UIComponent();
ui.addChild(Nuevo_mc);

prueba.addChild(ui);

Nuevo_mc.stop();
Nuevo_mc.addEventListener(MouseEvent.MOUSE_OVER,function(evento:MouseEvent):void{
evento.currentTarget.gotoAndStop(2);
});

Nuevo_mc.addEventListener(MouseEvent.MOUSE_OUT,function(evento:MouseEvent):void{
evento.currentTarget.gotoAndStop(1);
});

Nuevo_mc.addEventListener(MouseEvent.CLICK,function(evento:MouseEvent):void{
evento.currentTarget.gotoAndStop(1);
openProductos();
});

}

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 02:57 pm
Si tienes una función en el root de Producto (que es el MC que cargas) o a un método público de la clase que oficia de Document Class de la peli cargada simplemente usa la referencia para la llamada:

Producto.algunafuncion()

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 03:15 pm
no te entendi bien, me podrias explicar mejor, pero por lo que entendi, es que Producto lo llame directamente a la funcion, pero no tengo funcion en el swf, sino traer el el componente del swf ejecutar lso estados que este posee.. perdon si no me explique bien

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 03:21 pm
El componente tiene que estar funcionando en el swf, por esta línea confusa:

var Nuevo_mc:MovieClip = Nuevo_mc = Producto.nuevo_mc as MovieClip;

Supongo que quieres hacer algo así como usar un componente de la librería del swf cargado, algo que no va a funcionar en el contexto de Flex, mira si puedes crear componentes de Flex en Flash, ejemplo http://flashspeaksactionscript.com/create-custom-flex-components-with-flash-cs3/

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 03:55 pm
solisarg ese pagina no me queda del todo claro, pero ando chekeando un tutorial tuyo de integrar componentes de flash a flex, espero y me sirva .. :D

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 04:36 pm
mira, tengo el siguiente problema en flex me carga el swf y me muestra los estados pero no para, y se supone que colocnadole el stop(); deberia parar pero no,
este es el codigo q tengo en el flash:

nuevo_mc.addEventListener(MouseEvent.MOUSE_OVER, goFull);
function goFull(evt:MouseEvent):void {
gotoAndStop(2);

}
stop();
nuevo_mc.addEventListener(MouseEvent.MOUSE_OUT, goFull1);
function goFull1(evt:MouseEvent):void {
gotoAndStop(1);
}
stop();
nuevo_mc.addEventListener(MouseEvent.CLICK, goFull2);
function goFull2(evt:MouseEvent):void {
this.parent.parent.parent.parent.openProductos()
gotoAndStop(1);
}
stop();


y este es el que tengo en el flex


[Embed("images/menus/Menu_Productos.swf")]
[Bindable] private var submenu_Productos:Class;

<mx:HBox label="Ayuda" width="100%" height="100%" id="prueba" >
<mx:SWFLoader source="{submenu_Productos}"/>
</mx:HBox>

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 05:43 pm
No lo pongas como embed, prueba cargando en un SWFLoader

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 06:01 pm
bien, lo hice con el swf loader, pero ahora no me muestra los estados al darle click o pasar el mouse por encima solo me lo muestra estatico

y en flash.. al ver como es me muestran como si notuviera un stop();

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 06:35 pm
Ok, vamos a lo básico ... ¿no te funciona en Flash? Mira si no tiene un error, porque no será por falta de stops (tienes 3)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 07:26 pm
en flash me sale asi como titilandom mirare bien si algo le pasa al codigo igual lo tengo asi..

crear_mc.addEventListener(MouseEvent.CLICK, goFull);
function goFull(evt:MouseEvent):void {
gotoAndStop(2);
}
stop();
crear_mc.addEventListener(MouseEvent.MOUSE_OUT, goFull1);
function goFull1(evt:MouseEvent):void {
gotoAndStop(1);
}
stop();
crear_mc.addEventListener(MouseEvent.CLICK, goFull2);
function goFull2(evt:MouseEvent):void {
this.parent.parent.parent.parent.openProductos()
gotoAndStop(1);
}
stop();

:s

Gracias

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 07:56 pm
Tienes el CLICK asignado dos veces, ¿es el timeline donde está el código el que se tiene que mover de frame o algún objeto del escenario?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:10 pm
el codigo lo tengo asignado al fotograma que manejo en un boton, me explico el boton tiene dos fotogramas q se cambia de estado el boton , ahi es donde le tengo el codigo

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:13 pm
Según lo veo el código tiene que estar en la línea de tiempo principal, el botón (que es un MC con dos fotogramas) en ese único fotograma. para que funciona el code (además de corregir la asignación doble que tienes al CLICK), tienes que mover el target

Código ActionScript :

function goFull1(evt:MouseEvent):void {
   evt.target.gotoAndStop(1);
}


Lo primero es que funcione en Flash, luego ya lo pasas a Flex

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:18 pm
ok.. lo probare :D y en ves del eveto click al principio coloque el mouse.over

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:23 pm
al hacer esto me sale este error..

1061: Llamada a un método addEventListener posiblemente no definido mediante una referencia con tipo estático Class.

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:30 pm
Ok, te veo complicado con el ABC, aquí un ejemplo simplificado para que investigues:

- En escena un MovieClip que dentro tiene dos frames, en el primero un cuadrado rojo, en el segundo el mismo cuadrado pero verde
- En el único frame de la escena este code:

Código ActionScript :

crear_mc.addEventListener(MouseEvent.MOUSE_OVER, function(evt){crear_mc.gotoAndStop(2)});
crear_mc.addEventListener(MouseEvent.MOUSE_OUT, function(evt){crear_mc.gotoAndStop(1)});


Ya tienes un roolOver y un rollOut que funciona

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:44 pm
ok.. ya lo probe y se ve bien, pero no me funciona el stop() no se detiene de titilear y cambiar de rojo a verde seguido,

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:46 pm
En el MovieClip que tiene dos frames, seleccionas el primero y pones stop();
Eso evita que se reproduzca, que es el comportamiendo de cualquier MC por defecto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 08:53 pm
te pido disculpas, es que me enredo asi, no c.. no me podrias pasar un ejemplo donde yo viera todo , quizas hasta lod e flex.. para yo guiarme mejor.. es que asi me queda un poco duro..

Gracias :D

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 09:02 pm
Hacer un botón con dos estados es más que básico, dedicale tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Feb 2011 09:04 pm
ya lo hice y cambio d fotograma y se me cambia el estado, pero al momento de exportarlo o correrlo no me funciona el stop, le coloco el stop y no me da el cambio de fotogramas.. no c q ty hacienod mal

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Feb 2011 09:15 pm
bno.. creo q te he desesperado.. ahi disculpas las molestias :D

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox

 

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