Al momento de cargar el XML (otra vez, pero sin usarla para componente), no se deja, me volvi a confundir un poquito, por favor, alguien que me de norte.
Este es mi intento de Clase:
Código :
import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;
class MenuCarousel extends MovieClip{
// movie clip padre (el contenedor del menu carousel)
private var menu:MovieClip;
// en donde vamos a cargar el contenedor
private var target_mc:MovieClip;
//profundidad del movie clip menu
private var menuDepth:Number;
//numero de opciones en el menu
private var elementos:Number;
private var urlxmlFuentes:String;
// radio en el eje X
static var radioX:Number = 300;
// radio en el eje y
static var radioY:Number = 75;
// coordenadas del centro del carousel
private var centroX:Number ;
private var centroY:Number ;
// Angulo en que aparecera cada item
private var angulo:Number;
// velocidad con que se movera el carousel
private var velocidad:Number = 0.05;
//perspectiva del movie clip (influye en el la propiedad _scale)
private var perspectiva:Number = 130;
private var xmlItems:XML;
// para el icono del canal (fuente de video)
// private var fuente:MovieClip;
//-------------------------------------------------------------------
// getters y setters
//-------------------------------------------------------------------
[Inspectable(defaultValue="xmlFuentesVideos.xml")]
public function set setfuentesXML(sfuentesXML:String):Void {
this.urlxmlFuentes=sfuentesXML;
trace(this.urlxmlFuentes);
}
//--------------------------------------------------------------------
// Constructor
//--------------------------------------------------------------------
public function MenuCarousel(target:MovieClip,fuentesVidString:String){
// coordenadas del centro del carousel
centroX = menu._width / 2;
centroY = menu._height / 2;
this.urlxmlFuentes=fuentesVidString;
this.xmlItems=new XML();
cargaFuentes(fuentesVidString);
}
// cargar los elementos del menu
public function cargaFuentes(urlfuentes:String){
trace("Llamar desde cargaItems archivo XML= "+urlfuentes);
this.xmlItems.load(urlfuentes);
this.xmlItems.ignoreWhite=true;
this.xmlItems.onLoad=Delegate.create(this, creaItems);
}
// crear los items del menu
private function creaItems():Void{
menu=target_mc.createEmptyMovieClip("menu" + menuDepth,menuDepth);
var nodes = this.xmlItems.firstChild.childNodes;
// toma numero de elementos o items que tiene el XML
this.elementos = nodes.length;
trace(elementos);
for(var i=0;i<elementos;i++){
attachMovie("fuente","fuente"+i,i+1);
this["fuente"+i].angulo=i *(2*Math.PI)/ elementos;
this["fuente"+i].icon.inner.loadMovie(nodes[i].attributes.logo);
this["fuente"+i].r.inner.loadMovie(nodes[i].attributes.logo);
trace(this["fuente"+i]);
}
ordenarItems();
}
private function ordenarItems():Void{
trace(this.centroX);
for (var i=0;i<elementos;i++){
this["fuente"+i]._x=(i*100);
}
}
}Así trato de usarla en el archivo fla :
Código :
import MenuCarousel; var mCarousel:MenuCarousel = new MenuCarousel(_root,"xmlFuentesVideos.xml");
Y el xml que está en la misma carpeta y que intento cargar es algo asi:
Código :
<videoproviders> <videoprovider name= "Provider1" logo="cnn_sp_logo.png" xmlvideos="XmlVideosProvider1.xml" /> <videoprovider name= "Provider2" logo="universal_logo.png" xmlvideos="XmlVideosProvider2.xml" /> <videoprovider name= "Provider3" logo="ap_logo.png" xmlvideos="XmlVideosProvider3.xml" /> </videoproviders>
