Comunidad de diseño web y desarrollo en internet online

Menu que toma de xml

Citar            
MensajeEscrito el 10 Mar 2009 06:11 pm
Hola: tengo un menu el cual toma los atributos de un xml, no soy muy buena con AS y no se como ahcer para que cada boton me cargue un swf dentro de mi pelicula. Ya tengo en el _root creado un MC que se llama contenedor_mc al cual deberia asignarle el atributo href ya que mi xml seria
<item title="home" href= "uno.swf">
donde title es el titulo del boton y href me trae el swf asignado
les paso el codigo de mi fla:
import mx.transitions.easing.*;
import gs.TweenMax;



function addButtons() {
pushOverY = 0;
for (i=0; i<totalButtons; i++) {
menu.attachMovie("rectangle","rectangle",-1,{_x:0, _y:rY});
btn = menu.attachMovie("button", "btn"+i, i, {_x:0, _y:pushOverY, id:i});
btn.initialY = btn._y;
btn.textMC.t.autoSize = "left";
btn.textMC.t.text = obj.buttons[i].attributes.title;
btn.textMC.t.textColor = iC;
pushOverY += 42;
_root.contenedor_mc.loadMovie= obj.buttons[i].attributes.url;


setBtnEvents(btn);



}
Mouse.addListener(mouseListener);

}


function setBtnEvents(btn:MovieClip) {

btn.back.onRollOver = function() {
overBtn = this._parent;
if(this != pressedBtn){
if(pressedBtn != undefined){
tweenBtn(pressedBtn,100,iC,42,.8);
}
tweenBtn(this,160,iROC,90,.8);
tweenRectangle(this._parent.initialY,.8);
}
};

btn.back.onRollOut = function() {
if(this != pressedBtn){
if(pressedBtn != undefined){
tweenBtn(pressedBtn,160,iROC,90,.8);
tweenRectangle(pressedBtn._parent.initialY,.8);
}else{
tweenRectangle(rY,.8);
}
tweenBtn(this,100,iC,42,.8);
}
};

btn.back.onPress = function() {
//AQUI ES DONDE CREO QUE IRIA EL LLAMADO AL XML PARA INSERTAR EL SWF

}

}


function tweenBtn(mc:MovieClip,textScale:Number,textTint:Number,backHeight:Number,sec:Number){
mc.lastHeight = mc._height;
TweenMax.to(mc._parent.textMC,sec,{_xscale:textScale, _yscale:textScale, tint:textTint, ease:Strong.easeOut});
TweenMax.to(mc,sec,{_height:backHeight, ease:Strong.easeOut, onUpdate:moveButtons, onUpdateParams:[mc]});
}

function tweenRectangle(newY:Number,sec:Number){
TweenMax.to(menu.rectangle,sec,{_y:newY, ease:Strong.easeOut});
}

function moveButtons(btn:MovieClip) {
btn.currentHeight = btn._height;
for (i=btn._parent.id+1; i<totalButtons; i++) {
menu["btn"+i]._y += btn.currentHeight-btn.lastHeight;
}
btn.lastHeight = btn._height;
}



var iC:Number = new Number();
var iROC:Number = new Number();


var totalButtons:Number = new Number();

var overBtn:MovieClip = new MovieClip();

var pressedBtn:MovieClip = undefined;
var pressedSubItem:MovieClip = new MovieClip();

var mouseListener:Object = new Object();



var obj:Object = new Object();

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




xml.onLoad = function(succes) {
if (succes) {

iC = Number(this.firstChild.attributes.itemColor);
iROC = Number(this.firstChild.attributes.itemRollOverColor);

obj.buttons = this.firstChild.childNodes;
totalButtons = obj.buttons.length;

addButtons();
} else {
trace("xml could not load");
}
};


xml.load("menu.xml");


//ojala alguien pueda ayudarme desde ya muchas gracias!!

Por Irenepresti

3 de clabLevel



 

2000

msie7
Citar            
MensajeEscrito el 10 Mar 2009 06:27 pm
Pues podrias usar MovieClipLoader ya creaste el movieClip ahora seria que al dar click te carge la ruta que recibes del XML, esos serian los dos parametros de la funcion loadClip.

Mira este tuto sobre como crear una galeria XML con miniaturas, estoy seguro que te ayudara, incluso, podrias usarla tambien, ahi mismo coloco un ejemplo de como funciona, hasta el final del post. Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 10 Mar 2009 06:42 pm
Gracias por tu respuesta, no se donde ponerlo. puedes ver mi archivo aqui
http://www.indexweb.com.ar/menu.rar. Disculpa no soy muy experta y me he tildado con esto y no lo he logrado resolver. Desde ya muchas gracias

Por Irenepresti

3 de clabLevel



 

2000

msie7
Citar            
MensajeEscrito el 10 Mar 2009 07:02 pm
Hola, bueno mira, tu codigo intenta colocarlo dentro de las etiquetas code

Código :

[code]Codigo[/code]


No puedo ver tu archivo porque uso flash 8, pero no debe ser necesario, mira, tienes un creadero de variables por todos lados, no deberia ser asi, por ejemplo en la primer funcion, "addButtons", en esa funcion hay variables que uno no sabe de donde vienen, ademas, attachMovie("rectangle", "rectangle" + i, asi debe de ser esa declaracion, intenta corregir eso primero. MovieClipLoader es un objeto destinado para cargar swf o imagenes dentro de un clip contenedor, es justo lo que necesitas, asi que lee el link que te pase y has unas pruebas, en 20 minutos lo dominaras y podras integrarlo en tu proyecto.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 10 Mar 2009 07:11 pm
Gracias!!! muchas gracias!

Por Irenepresti

3 de clabLevel



 

2000

msie7
Citar            
MensajeEscrito el 10 Mar 2009 07:27 pm
¿Ya funciono? :P

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 10 Mar 2009 07:38 pm
aun estoy renegando, jajaja pero lo seguire intentando gracias

Por Irenepresti

3 de clabLevel



 

2000

msie7
Citar            
MensajeEscrito el 13 Mar 2009 02:34 pm
Saludos Irenepresti!,ya resolviste tu problema?,tengo una solución que espero resuelva tus dudas,avisame y nos ponemos en contacto,cuídate

Por Maxos

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Mar 2009 03:45 pm
Hola, gracias!! aun no lo resolvi, cambie de menu mas o menos lo estoy logrando pero cuando quiero integrarlo al que tenia antes no. Si tienes algo mejor avisame, gracias por todo!!

Por Irenepresti

3 de clabLevel



 

2000

msie7

 

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