Navigate to Url avec xml

nicolascelers Messages postés 2 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 12 mars 2010 - 12 mars 2010 à 23:45
nicolascelers Messages postés 2 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 12 mars 2010 - 12 mars 2010 à 23:52
bonjour bonjour

je ne suis pas tres fort en flash et je voulais créer un menu accordéon avec xml pour mettre sur une home page
je voulais que chaque volet du menu amène sur la page web de l'élément
mais chose étonnante dans le code il n y loadurl ou navigatetourl(je ne sais pas vraiment la différence entre les deux) ou quoique soit qui permet cela.
j ai chercher dans d'autre tutos mais apparemment ils ne sont pas compatibles même en essayant de les modifier ou d adapter un truc par ci par la ca ne marche pas
je me suis donc décidé a demander dans le l aide
voilà merci a tous

1 réponse

nicolascelers Messages postés 2 Date d'inscription vendredi 22 mai 2009 Statut Membre Dernière intervention 12 mars 2010
12 mars 2010 à 23:52
//import tweenlite classes
import gs.TweenLite;
import gs.easing.*;


var MENU_ARRAY:Array;
var OPENED_MENU:int;
var MOVE_ON_MOUSE_OVER:Boolean=false;
var xmlLoader:URLLoader;

loadXML("menu.xml");

function loadXML(Uri:String):void {
xmlLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, onComplete);
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
xmlLoader.load(new URLRequest(Uri));
}
function onError(evt:ErrorEvent):void {
trace("cannot load xml file");
}

function onComplete(evt:Event):void {
MENU_ARRAY=prepareMenu(xmlLoader.data.toString());
placeItemsOnStage(); /

function placeItemsOnStage():void {

var pos:Number=0;

menuContainer.x=0;
menuContainer.y=0;

for(var c:int=0; c<MENU_ARRAY.length; c++) {
var it:menuItem = new menuItem;
it.x=c*40;
it.y=0;
it.id="Item-"+c;
it.name="Item-"+c;
it.posX=pos;
it.itemLabel.text=String(MENU_ARRAY[c].Ititle).toUpperCase();
it.addEventListener(MouseEvent.CLICK, onMouseClick);
if(MOVE_ON_MOUSE_OVER==true) it.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
it.useHandCursor=true;
it.buttonMode=true;
it.itemText.visible=true;
menuContainer.addChild(it);

if(String(MENU_ARRAY[c].IcontentType)=="image/swf") { /
var ldr:Loader = new Loader();
ldr.x=40;
ldr.y=0;
it.addChild(ldr);
ldr.load(new URLRequest(MENU_ARRAY[c].IcontentData.toString()));
}
else if(String(MENU_ARRAY[c].IcontentType)=="text") {
it.itemText.visible=true;
it.itemText.text=MENU_ARRAY[c].IcontentData.toString();

}

pos+=40;
}


masker.width=(MENU_ARRAY.length*40+519)
masker.height=menuContainer.height;
masker.x=-40;
masker.y=0;

moveItem(OPENED_MENU-1);

}
function onMouseOver(evt:MouseEvent):void {
if(evt.target.name.toString()=="buttonBack") prepareMove(evt)
}

function prepareMove(evt:MouseEvent):void {
var targetName:String = evt.currentTarget.name.toString();
var temp:Array = targetName.split("-");
var itemNumber:int=(temp[1]);
moveItem(itemNumber);
}

function onMouseClick(evt:MouseEvent):void {
if(evt.target.name.toString()=="buttonBack") prepareMove(evt);
else trace("Item "+evt.currentTarget.name+" clicked!");
}


function moveItem(num:int):void {
var itemToMove:menuItem=menuContainer.getChildByName("Item-"+String(num)) as menuItem;

for(var m=0;m<MENU_ARRAY.length;m++)
{
var tempMc = menuContainer.getChildByName("Item-"+m);
if(tempMc.x > itemToMove.x) TweenLite.to(tempMc, 1, {x:((tempMc.posX) + itemToMove.width-40), ease:Quart.easeOut});
else if(tempMc.x <= itemToMove.x) TweenLite.to(tempMc, 1, {x:(tempMc.posX), ease:Quart.easeOut});
}
}

function prepareMenu (XMLData:String):Array
{

var menuXML:XML = new XML(XMLData);

menuXML.ignoreWhitespace = true;


var XMLItems = menuXML.descendants("item");


var itemsArray:Array = new Array();
var itemObj:Object;
for(var i in XMLItems)
{
itemObj=new Object();
itemObj.Ititle=XMLItems[i].@Ititle;
itemObj.IcontentType=XMLItems[i].@IcontentType;
itemObj.IcontentData=XMLItems[i].@IcontentData;
itemObj.itemID="menu"+i;
itemsArray.push(itemObj);
}
OPENED_MENU=menuXML.@menuOpen;
MOVE_ON_MOUSE_OVER=(menuXML.@moveOnMouseOver.toString()=="true" ? true : false);
return itemsArray;


}


stop();




si ca peut vous aider à m aider je peux retrouver la version avec les commentaires
0