Comunidad de diseño web y desarrollo en internet online

Cargar SWF externo con AS3

Citar            
MensajeEscrito el 15 Jul 2010 09:45 am
Entonces postea el código que has utilizado y que te da error o no te funciona para que alguien pueda decirte dónde está el problema.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 15 Jul 2010 01:31 pm
Hola, gracias, el codigo estaba en mi anterior post pero bueno lo repito aqui, el codigo que pongo en un fotograma de la linea del tiempo, es el que me funcionaba con as 2 que es:

target.loadMovie("widget_clima.swf");
stop();

Con este codigo metia el swf externo en el flash y me abría automaticamente, ahora el widget que tengo para meter, que es un widget del tiempo, lo inserta pero no lo abre, esta cargando continuamente porque está en as3, no da un error concreto. Cuando he puesto los codigos que estan en este post directamente ya ni siquier lo inserta. Espero haberme explicado razonablemente bien. Muchas Gracias por vuestra paciencia y ayuda.

Por soy_max

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jul 2010 02:46 pm
No me refiero al de AS2, sino al que dices que has puesto de AS3 y que no te funciona.
Por otro lado no puedes insertar un SWF realizado en AS3 en un SWF en AS2, chequea que esto no sea así.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 15 Jul 2010 02:53 pm
la verdad es que he puesto todo lo que he encontrado por ahí, me podrías indicar cual es el que deberia funcionar si o si?. Poruqe voy a probar en un SWF en AS3. Muchas Gracias porque ya me ayudaste un monton. Si no es mucho abusar como te decía me puedes indicar que codigo puedo poner o cual de los que estan este post tenía que funcionar. Muchas Gracias

Por soy_max

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jul 2010 09:34 am
soy_max, este es el primer código que hay en este post:

Código ActionScript :

var request:URLRequest = new URLRequest("peliexterna.swf");
var cargar:Loader = new Loader()
cargar.load(request);
addChild(cargar);


Pero no basta con que lo copies lo pegues y digas que no te funciona, debes dar datos de qué haces para saber que estás haciendo mal. Sólo recuerda que para leer una peli en AS3 debes programar en AS3.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 16 Jul 2010 07:38 pm
Pues la verdad es que copio y pego, lo que estoy intentando hacer era poner un widget del clima, en teoria es dar la orden para que lo cargue automaticamente, este widget está en as3, y ya está, pero no hay manera estoy ya despistadisimo no se que hacer. Gracias por vuestra paciencia.

Por soy_max

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jul 2010 03:20 pm
¿Revisaste esta parte?

elchininet escribió:

Por otro lado no puedes insertar un SWF realizado en AS3 en un SWF en AS2, chequea que esto no sea así.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 19 Jul 2010 09:34 pm
si claro, tengo el swf en as 3 los dos

Por soy_max

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jul 2010 07:46 am
soy_max, postea el nombre de tus películas, dónde está situada cada una y pega exactamente el código que estás utilizando.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 20 Jul 2010 02:23 pm
una es un menu swf (en as3) el otro swf es de un widget del clima para ver el clima en mi menu, y es una carpeta con varios archivos, bin , com, as3, swf y html. Si clico en el html se ve el widget perfectamente por lo que funciona, pero para cargarlo desde mi menú no hay manera ya le he metido varios codigos y no hay manera el ultimo es el que esta mas arriba o sea este:

var request:URLRequest = new URLRequest("peliexterna.swf");
var cargar:Loader = new Loader()
cargar.load(request);
addChild(cargar);

Muchas Gracias por vuestro interes y ayuda.

Por soy_max

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2010 12:15 pm
@soy_max, según el código que has copiado y pegado, flash asume que el swf de tu widget se llama exactamente "peliexterna.swf" y que se encuentra en el mismo sitio que el swf del menú.

Si tu widget se llama diferente a "peliexterna.swf" y lo tienes dentro de una carpeta debes indicarle la ruta y el nombre exactos al flash para que pueda econtrarlo de lo contrario es muy difícil que con un código genérico flash pueda "adivinar" que deseas leer.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 21 Jul 2010 05:22 pm
alguien me puede ayudar, tengo un swf hacho en as3 pero cuando lo pongo a cargar dentro de otro swf lo carga pero no funciona es decir, es un menú con el contenido y lo carga pero sale todo acelerado y no funcionan ni los botones ni nada, no se q le pasa :(; si me pueden ayudar muchas gracias :)

Por wendasierra

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Jul 2010 09:38 am
@wendasierra, deberías abrir un post nuevo, este no es relacionado con le que te pasa, porque en el caso tuyo el SWF carga, lo que con problemas.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 09 Ago 2010 06:20 am
Hola que tal, espero que todos en el foro esten bien. Quisiera que alguien me ayudara a pasar un codigo que esta en AS2 , pasarlo a AS3. No tengo mucha experiencia en esto y por eso recurro a los expertos, espero alguien me ayude. El codigo es el siguiente.

var theXMLpp:XML = new XML();
theXMLpp.ignoreWhite = true;

theXMLpp.onLoad = function(){

var nodes = this.firstChild.childNodes;
var i=0;
var cont = 0;
galeria = new Array();
foto = new Array();

for(i=0;i<nodes.length;i++){
if(nodes[i].nodeName == "galeria")
{
galeria[cont] = nodes[i].firstChild.nodeValue ;
}
if(nodes[i].nodeName == "foto")
{
foto[cont] = nodes[i].firstChild.nodeValue ;
cont++;
}
}

foto1.text = galeria[0];
foto2.text = foto[0];
foto3.text = foto[1];
foto4.text = foto[0];
ciudadmin.text = galeria[1];
textmin.text = foto[1];


}

theXMLpp.load("http://www.galerias.com/fotos/xml/xmlgaleria.php");

---------------------------
mas que nada es como hacer el cambio para cargar el xml, espero alguien pueda ayudarme.
de antemano gracias y saludos para todos.
Responder Citando

Por depredadoor

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Ago 2010 08:11 am
@depredadoor, lo mismo que le decía a @wendasierra. Abre un nuevo post, ya que lo que preguntas no tiene relación con el hilo.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 09 Ago 2010 09:35 am
BuenAS:

Como te comentan está más arriba, pero te lo pego aquí. Creo que tu movieClip donde quieres cargarlo se llama target, y quieres cargar, por ejemplo, mi_pelicula.swf (sustituye este nombre por el real de tu caso):

Código ActionScript :

var loader:Loader = new Loader();
loader.load(new URLRequest("mi_pelicula.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoad);

function completeLoad(evt:Event):void{ 
   target.addChild(evt.target.content);
}


Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 09 Ago 2010 06:40 pm
Hola:

Creo tener un problema como los q se mencionan más arriba.

Un poco de historia:

En flex 3 hice una aplicacion con la api de yahoo weather que carga los datos climaticos (la aplicacion la hice en flex 3 ya q algunos de los componentes de la api de yahoo no funcionaban en flex 4), mi aplicacion consiste en 2 partes basicamente, los datos climaticos que son cargados d algun servidor de yahoo y una imagen la cual cargo de una carpeta segun el codigo climatico que cargue la api d yahoo (por ejemplo: si esta nublado el codigo es 30, si esta soleado el codigo es 20, etc). Mi aplicacion funciona muy bien, no tiene ningun error.

Ahora en mi pagina web:

Tengo un modulo mxml el cual tiene varios states uno d ellos es el state clima q es donde quiero carga mi aplicacion del clima (valga la redundancia), hice un pequeño codigo para q se fuera cambiando los states cada 10 segundos. Cuando llega el momento del state clima tengo este error:

Código :

TypeError: Error #1007: Se intentó crear una instancia en un tipo no constructor.
   at mx.preloaders::Preloader/initialize()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\preloaders\Preloader.as:253]
   at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::initialize()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:1925]
   at mx.managers::SystemManager/initHandler()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:2419]


Ya no puede ser de seguridad porq ya arregle la sandbox. Ya no se q mas hacer.

Ya intente con otro swf q no es mi aplicacion (y funciono), ya intente con los codigos q estan mas arriba (con sus respectivos arreglos), pero nada.

Imagino que tiene algo q ver el (los) segundo(s) q tarda en carga los datos del clima.

Antes d cerrar este mensaje se ocurre q tal vez estoy haciendo algo mal con los codigos d los mensajes de arriba, ya q logicamente no es lo mismo flash a flex (bueno, en alguna cosas :P).

Este el codigo del modulo:

Código Flex :

      <fx:Script>
      <![CDATA[
         import flash.events.TimerEvent;
         import flash.system.Security;
         import flash.utils.Timer;
         
         import mx.controls.Alert;
         
         private var timer:Timer = new Timer(5000, 1);
          private var i:Number = 0;
         private var request:URLRequest = new URLRequest("Clima.swf");
         private var cargar:Loader = new Loader();
         [Bindable] private var nombresestados:Array = new Array ("State1", "clima", "algo");
         
         
         private function init():void 
         { 
            Security.loadPolicyFile("http://localhost/miweb/crossdomain.xml");
            iniciatimer();

            
         } 
            
         
         private function iniciatimer():void 
         { 
            timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler); 
            timer.start(); 
         } 
         
         private function timerCompleteHandler(event:TimerEvent):void 
         {             
             timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler); 
            setCurrentState(nombresestados[i].toString(), true);
            i++;
            
            if(this.currentState == "clima"){
   
               cargar.load(request);
               cargar.contentLoaderInfo.addEventListener(Event.COMPLETE, cargarclima);
            }
            
            if(i>nombresestados.length - 1){
               i = 0;
            }
            
            iniciatimer();
         } 
         
         
         private function cargarclima(ev:Event):void{
            
            swfclima.addChild(cargar);
            
         }
         
      ]]>
   </fx:Script>
   
   
   <mx:states>
      <s:State name="State1"/>
      <s:State name="clima"/>
      <s:State name="algo"/>
   </mx:states>
   <s:Group id="grupo" includeIn="State1, clima, algo" x="10" y="7" width="776" height="200" x.State1="0" y.State1="0" width.State1="100%" height.State1="100%" width.clima="100%" x.clima="0" y.clima="0" height.clima="100%" x.algo="0" y.algo="0" width.algo="100%" height.algo="100%">
      <mx:Image includeIn="State1" x="315" y="74" source="imgs/toplogo.png"/>
      <mx:Image includeIn="algo" x="365" y="30" source="imgs/Lighthouse.jpg" width="295" height="194"/>
      <mx:SWFLoader id="swfclima" includeIn="clima" x="10" y="10" width="1004" height="215"/>
   </s:Group>
   
   <mx:transitions>
      
      <s:Transition id="efecto">
         <s:Parallel>
            <s:Fade id="efectoestados" target="{grupo}" duration="1000" alphaFrom="0" alphaTo="1.0"/>
         </s:Parallel>
         
      </s:Transition>
      
   </mx:transitions>



Saludos.

Por px87

Claber

141 de clabLevel

1 tutorial

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Ago 2010 05:42 pm
Nunca hago esto, pero la situacion lo amerita jeje :P

Alguna idea sobre mi problema?

Saludos.

Por px87

Claber

141 de clabLevel

1 tutorial

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Ago 2010 12:07 pm
@px87, el error lo da la clase Preloader y según comentas parace que viene dado por lo que tiene que leer. Te recomiendo que tu SWF del clima no comience hasta que se lo ordenes (creas una clase pública en él para hacer esto) y depués que el mismo cargue y lo sitúes dentro del SWFLoader, entonces le das la orden de comenzar.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 26 Oct 2010 04:59 pm
hola soy nuevo en el foro y en as3 todo era muy hermoso con as2
que pena entrometerme acá pero es que seguí cada paso de esto y no me funciono mira me explico mejor:

var unicoLoader=new Loader();
addChild(unicoLoader);

Boton_bt.addEventListener(MouseEvent.CLICK, pulsado);
Boton2_bt.addEventListener(MouseEvent.CLICK, otro);
Boton3_bt.addEventListener(MouseEvent.CLICK, otramas);



function pulsado(event:MouseEvent)
{
unicoLoader.load(new URLRequest("pelicula1.swf"));
}

function otro(event:MouseEvent):void
{
unicoLoader.load(new URLRequest("pelicula2.swf"));
}
function otramas(event:MouseEvent):void
{
unicoLoader.load(new URLRequest("pelicula3.swf"));
}



me llama la pelicula normal pero se monta encima de la que llame y me sale el siguiente error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at scroll_fla::MainTimeline/frame1()
ya hice de todo y es mero lio por que tengo que tener esto listo ya espero me puedan ayudar:( :shock:

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

chrome
Citar            
MensajeEscrito el 28 Oct 2010 03:15 pm
Ese error es que estás intentando acceder a un método de un objeto no declarado, lo más probable es que los botones (Boton_bt, Boton2_bt, Boton3_bt) no estén declarados.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 02 Feb 2011 07:42 pm
hola ..perdon.. es q poseo un problema al cargar wl swf en flex, lo que pasa es q me sale el swf y todo, pero sus propiedades no.. me explico al pasar el mouse por el boton yo le tenia un estado y en flex no me aparecen.. .. si me podrias ayudar, te lo agredeceria .. si quieren posteo el codigo

Por bernardo100108

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Jul 2011 06:24 am

Por samul96

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Dic 2011 12:37 pm
Saludos

oie tu codigo me salio exelente pero tengo una duda

cuando le doy al boton me carga la peli y si le doy a otro boton carga la peli encima de la otra y sigue viendose

grax de antemano

Por Stevencb

11 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 19 Ene 2013 03:28 pm
package
{
import fl.display.SafeLoader;

import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;

[SWF(height = "1280", width = "768", frameRate = "29", backgroundColor = "#FFFFFF")]
public class Gamespinner extends Sprite
{

private var swf:Loader = new Loader();

public function Gamespinner()
{

swf.load(new URLRequest("GameSpinner_cs5.swf"));
swf.contentLoaderInfo.addEventListener(Event.COMPLETE,showintem,false,0,true);

}

protected function showintem(event:Event):void
{
swf.contentLoaderInfo.removeEventListener(Event.COMPLETE,showintem,false);
addChild(swf.content);
}


}
}

Por liryum

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Ene 2013 07:49 pm
YO SOY LA OFFICIAL ESTOY ASIENDO MUCHOS PARA QUE ME DEN ME GUSTA PORFA :P

Por MARINA SOTELO

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Mar 2013 06:08 pm
Hola tengo un problema para cargar una pelicula. Tengo un boton con el cual quiero que al hacer click me abra otra pelicula, pero no insertada dentro de esta. Pongo el siguiente codigo as3

function cargarPel(event:MouseEvent):void {
var urlSwf:URLRequest = new URLRequest("pelicula.swf");
var cargarSwf:Loader = new Loader();
cargarSwf.load(urlSwf);
this.addChild(cargarSwf);
}
bt_peli.addEventListener(MouseEvent.CLICK, cargarPel);

y lo que logro es que me la inserte dentro de la misma pelicula. q es lo que tengo q cambiar del codigo para poder hacerlo???
Muchas gracias

Por medmaru

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Mar 2013 01:12 pm
hola.

primero debes tener referencia de la pelicula a la cual va a enviar la pelicula cargada. En el codigo que mostro, la referencia es "this"-(osea esta clase o pelicula).

para encontrar la ref puedes hacer esto.


var refPadre_mc:MovieClip; // o Sprite

this.addEventListener(Event.ADD, refPadre,false,0,true);


function refPadre(e.event):{

this.removeListner(Event.ADD,refPadre,false);

refPadre_mc = this.parent; //Alli ya tiene referencia al padre de la peli, ya puede añadir. la peli.
// al padre de "this" a la peli.

}

Por liryum

4 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Mar 2013 03:10 pm
perdon, pero recien me inicio en el as3, y no termino de comprender lo que me decis, ni donde poner el codigo, me podrias explicar donde iria eso? gracias!!

Por medmaru

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 06 Mar 2013 08:14 pm
eso va en la misma parte de código anterior, solo que cuando utilices addChild no con this sino con

refPadre_mc

para empezar lo básico son las variables, imagina que son tags o apuntadores a lo que se encuentra en memoria. asi si quieres hacer algo con una variable que maneje DisplayObject pues debes primero referenciarla en memoria. en este caso quieres llevar el mc cargado a otra pelicula, entoces debes referenciar la peli primero, en este caso es el padre de la peli donde puso el codigo de descarga.

saludos.

Por liryum

4 de clabLevel



 

chrome

 

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