Foros del Web » Programación para mayores de 30 ;) » Programación General »

XML y loadmovie, se puede?

Estas en el tema de XML y loadmovie, se puede? en el foro de Programación General en Foros del Web. hola a todos... Chic@s quiero pedir support, consegui este codigo XML pero necesito que me cargue un swf eso quiero saber si es posible. les ...
  #1 (permalink)  
Antiguo 02/01/2011, 19:42
 
Fecha de Ingreso: julio-2010
Mensajes: 62
Antigüedad: 14 años, 4 meses
Puntos: 0
Exclamación XML y loadmovie, se puede?

hola a todos...


Chic@s quiero pedir support, consegui este codigo XML pero necesito que me cargue un swf
eso quiero saber si es posible.

les dejo el codigo

+++++++++++++++++++++++++++++++++++++++++

<?xml version="1.0" encoding="UTF-8"?>

<menu itemColor="0xFFFFFF" itemRollOverColor="0xFF9900" subitemColor="0xFFFFFF" subitemRollOverColor="0xB99424">

<item title="Eventos">
<subitem title="Show 1"/>
<subitem title="Show 2"/>
<subitem title="Show 3"/>
<subitem title="Show 4"/>
</item>

<item title="Staff">
<subitem title="Nosotros"/>


</item>

<item title="Galerias">
<subitem title="Fotos"/>
<subitem title="Videos"/>
</item>

<item title="Mapa">
<subitem title="Mapa";/>
<subitem title="Direccion"/>

</item>

<item title="Contactos">
<subitem title="Mail"/>
<subitem title="Facebook"/>
</item>

</menu>
+++++++++++++++++++++++++++++++++++++++++

y el codigo en flash es el sig.


+++++++++++++++++++++++++++++++++++++++++

//import classes and packages
import mx.transitions.easing.*;
import gs.TweenMax;


//create function to add buttons on menu
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;

//set events for this button
setBtnEvents(btn);

//add submenu items
pushOverX = 0;
btn.totalSubItems = obj.buttons[i].childNodes.length;
for (j=0; j<btn.totalSubItems; j++) {
subItem = btn.subMenu.attachMovie("subItem", "subItem"+j, j, {_x:pushOverX, _y:0, id:j});
subItem.t.autoSize = "left";
subItem.t.text = obj.buttons[i].childNodes[j].attributes.title;
subItem.t.textColor = siC;
pushOverX += subItem._width+10;
}
}
Mouse.addListener(mouseListener);

}

//create function for buttons events
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() {
pressedBtn = this;
//if is not pressed over subMenu then select the first subitem
if(!pressedBtn._parent.subMenu.hitTest(_xmouse,_ym ouse)){
var cl:Color = new Color(pressedSubItem);
cl.setRGB(siC);
pressedSubItem = pressedBtn._parent.subMenu["subItem"+0];
var cl:Color = new Color(pressedSubItem);
cl.setRGB(siROC);

//ADD HERE CUSTOM FUNCTION
}

}

}

//create tweens with TweenMax
function tweenBtn(mc:MovieClip,textScale:Number,textTint:Nu mber,backHeight:Number,sec:Number){
mc.lastHeight = mc._height;
TweenMax.to(mc._parent.textMC,sec,{_xscale:textSca le, _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 rY = 355; //rectangle initial y

var iC:Number = new Number();//item color
var iROC:Number = new Number();//iem rollover color
var siC:Number = new Number();//subitem color
var siROC:Number = new Number();//subitem rollover color

var totalButtons:Number = new Number();

var overBtn:MovieClip = new MovieClip();

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

var mouseListener:Object = new Object();


//create subItems events
mouseListener.onMouseMove = function() {
overSubItems = 0;
for (j=0; j<overBtn.totalSubItems; j++) {
s = overBtn.subMenu["subItem"+j];
if (s.hitTest(_xmouse, _ymouse)) {
var cl:Color = new Color(s);
cl.setRGB(siROC);
overSubItems++;
} else {
var cl:Color = new Color(s);
cl.setRGB(siC);
}
}
if (overSubItems == 0) {
var cl:Color = new Color(pressedSubItem);
cl.setRGB(siROC);
}
};

mouseListener.onMouseDown = function() {
for (j=0; j<overBtn.totalSubItems; j++) {
s = overBtn.subMenu["subItem"+j];
if (s.hitTest(_xmouse, _ymouse)) {
pressedSubItem = s;
//ADD HERE CUSTOM FUNCTION
}
}
};



//object that contains data from xml
var obj:Object = new Object();

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



//after the xml is loaded, load variables and parse the date to obj
xml.onLoad = function(succes) {
if (succes) {
//get colors values from xml
iC = Number(this.firstChild.attributes.itemColor);
iROC = Number(this.firstChild.attributes.itemRollOverColo r);
siC = Number(this.firstChild.attributes.subitemColor);
siROC = Number(this.firstChild.attributes.subitemRollOverC olor);

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

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

//the path to the xml file
xml.load("menu.xml");
++++++++++++++++++++++++++++++++++++++++++++



gracias y feliz comienzo de año

Etiquetas: load, swf, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:40.