Comunidad de diseño web y desarrollo en internet online

RUTAS PARA CARGAR SWF

Citar            
MensajeEscrito el 23 Sep 2013 04:43 pm
HOLA, HOLA.
¿ALGUIEN ME PODRÍA AYUDAR CON UN PROBLEMA QUE TENGO?
¿COMO PUEDO CARGAR UN SWF, EN ACTIONSCRIPT 3.0, QUE ESTA EN UNA CARPETA A UN NIVEL SUPERIOR?

GRACIAS POR VUESTRA AYUDA.

Por guillermo.film.frame

6 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Sep 2013 06:46 pm
BuenAS:

Añade al principio de la ruta "../". Esto te hará subir un nivel.

Por ejemplo "../swf/pelicula.swf" buscará el swf en una carpeta que está al mismo nivel que la carpeta donde está el swf que hace la llamada.

Si quieres subir otro nivel, añade la misma cadena "../../" Esto te hará subir dos niveles.

Cuidado con una cosa, si un swf carga a otro swf que a su vez carga imágenes (por ejemplo), este segundo swf se va a creer que está EN LA MISMA CARPETA donde está el primero. Esto es a lo que se suele llamar problema del propietario del stage, por si quieres googlearlo.

Para resolver esto puedes utilizar una función del tipo:

Código ActionScript :

function getUrl(url:String):String
{
   if (!(url.indexOf(":") > -1 || url.indexOf("/") == 0 || url.indexOf("\\") == 0))
   {
      var rootURL:String;
      if (root)
      {
         rootURL = root.loaderInfo.url;
         if (rootURL)
         {
            var lastIndex: int= Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
            if (lastIndex != -1)
            {
               url = rootURL.substr(0, lastIndex + 1) + url;
            }
         }
      }
   }
   return url;
}

En lugar de hacer

Código ActionScript :

var urlRequest: = URLRequest new URLRequest(ruta);

haces:

Código ActionScript :

var urlRequest: = URLRequest new URLRequest(getUrl(ruta));

Esto hace que la ruta se componga correctamente con la posición real del swf que carga el asset y no la del dueño del stage (que es el primer swf)

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 23 Sep 2013 06:52 pm
ups!!! ha salido mal el copy&paste:

Código ActionScript :

//En lugar de esto
var urlRequest:URLRequest = new URLRequest(ruta);

//Procesar la ruta con la función anterior
var urlRequest:URLRequest = new URLRequest(getUrl(ruta));

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 25 Sep 2013 07:13 am
MUCHAS GRACIAS, ME ACABAIS DE AYUDAR UN MONTON.

Por guillermo.film.frame

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Sep 2013 08:30 pm
HOLA, HE PROBADO LO DE ../ Y TIENES RAZON, SE VE EL FONDO DEL SWF CARGADO, HE PROBADO LA FUNCION QUE ME HAS DICHO PERO NO ME FUNCIONA.

TENGO UN BOTON CREADO Y QUIERO QUE CUANDO LO PULSAS SE CARGE UN SWF DE UNA CARPETA SUPERIOR.
HE PROBADO ASOCIAR EL CLIKC DE BOTON A LA FUNCION PERO NO ME FUNCIONA, SENCILLAMENTE NO ME HACE NADA, SE CREA EL SWF PERO AL DARLE AL BOTON, NO PASA NADA.

Por guillermo.film.frame

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Sep 2013 09:31 pm
Un saludo.

La función debes utilizarla en el swf cargado (el que a su vez carga otros contenidos), ya que el swf principal no va a tener problemas a la hora de componer la ruta.

Prueba a hacer un trace con las rutas que resultan y asegúrate de que realmente se están componiendo bien.

Independientemente de lo dicho, verifica que estés dando las rutas correctamente, no es la primera vez que me ha pasado poner más de una barra en una dirección, y que resulten rutas del tipo "http://www.dominio.com//images\section\cargador.swf" :)

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 02 Oct 2013 03:25 pm
GRACIAS, LO PROBARE.

¿SABES SI SE PUEDEN HACER WIDGETS DE RELOJES EN AS3 PARA ANDROID?

Por guillermo.film.frame

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Oct 2013 03:38 pm
BuenAS:

Creo que no. No me suena que las últimas versiones de AIR lo hayan incluido. Me suena que ha habido peticiones como las de Lee Brimellow para que lo incluyan en futuras versiones; pero, como digo, no me suena que haya pasado :(

Está la posibilidad de realizarlo como un Widget Java que actué como wrapper de tu app ActionScritp. Aquí un tutorial. Pero incluso esto creo que lo desaconseja Adobe.

Un widget, por su naturaleza, no tiene que consumir apenas recursos y estar muuuuuy optimizado en rendimiento, y lo anterior no es precisamente el mejor camino.

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 03 Oct 2013 08:51 am
VAYA, QUE LASTIMA LO DEL WIDGET, TENIA UNA COLECCION DE RELOJES MUY CHULA PERO TENDRE QUE APARCARLA.

GRACIAS POR TUS RESPUESTAS Y POR TU PACIENCIA.

UN SALUDO.

Por guillermo.film.frame

6 de clabLevel



 

firefox

 

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