Ciao a tutti.
ho una galleria dinamica di immagini strutturata come una sequenza orizzontale in cui si vede solo un'immagine alla volta, e si può scorrere da una all'altra solo attraverso due pulsanti "precedente" e successiva". A questa galleria sto implementando SWFAddress ed ho qualche problema: testando il filmato online dall'indirizzo principale sembrano non esserci particolari problemi, tranne che, appena il filmato è caricato, nella barra degli indirizzi non viene visualizzato il primo percorso deeplink che è impostato nell'AS: leggo "nomedelsito.com/" invece che "nomedelsito.com/#/directory/immagine1/".
Se invece provo a digitare in una nuova finestra vuota del browser un deep link come ad esempio "nomedelsito.com/#/directory/immagine5/", il filmato viene eseguito come normalmente dalla pagina madre, ossia viene visualizzata sempre la prima immagine, e l'indirizzo non cambia in "immagine1" .
Posto il codice, sperando che qualcuno riesca a darmi una mano..
codice root:
Codice contenuto in content_mc (nella root)codice:#include "com/mc_tween2.as" #include "com/SWFAddress.as" SWFAddress.setValue("/2010/1/"); _root.checkGallery = 0; onEnterFrame = function () { if (content_mc.xmlData.loaded && this._alpha == 100) { content_mc.buildGallery(); delete onEnterFrame; } }; SWFAddress.onChange = function() { var addr = SWFAddress.getValue(); navigationPage(addr); trace(addr); }; function navigationPage(pageId) { for (k=0; k<content_mc.total+1; k++) { if (pageId == "/2010/"+k+"/") { _root.imageNo = k; _root.page = 1021; _root.checkGallery += 1; content_mc.buildGallery(); content_mc.menu_mc.scroll_mc.xSlideTo(-1*(_root.imageNo-1)*content_mc.menu_mc.scroll_mc.thumb_mc.thumb._width,0.75,"easeInOutExpo"); content_mc.bttnPrev._visible = true; content_mc.bttnNext._visible = true; } } } stop();
codice://BUTTONS bttnPrev.onRelease = function() { prevID(); }; bttnNext.onRelease = function() { nextID(); }; nextID = function () { if (ID<total) { ID+=1; loadID(); } }; prevID = function () { if (ID>0) { ID-=1; loadID(); } }; loadID = function(){ for(k=0;k<total;k++){ SWFAddress.setValue("/2010/"+ID); } } menu_mc.scroll_mc.onTweenComplete = function() { if(ID>1&&ID<total){ bttnPrev._visible = true; bttnNext._visible = true; bttnPrev._width = Stage.width/2; bttnNext._width = Stage.width/2; }else if(ID==total){ bttnNext._visible = false; }else if(ID==1){ bttnPrev._visible = false; bttnNext._width = Stage.width; } }; // BUILD GALLERY FUNCTION buildGallery = function () { galleryID = 0; if (_root.page == 1021) { ID = _root.imageNo; } else { ID = 1; } total = xmlNode.childNodes[galleryID].childNodes.length; // Sets destination width and height for each image for (i=0; i<total; i++) { Thumb[i] = xmlNode.childNodes[galleryID].childNodes[i].attributes.Large; //Build thumb menu if (_root.checkGallery == 0) { menu_mc.scroll_mc.thumb_mc.thumb.duplicateMovieClip("thumb"+i,i); menu_mc.scroll_mc.thumb_mc["thumb"+i]._x = (menu_mc.scroll_mc.thumb_mc["thumb"+i]._width)*i; loadMovie(Thumb[i], menu_mc.scroll_mc.thumb_mc["thumb"+i].holder); smoothImageLoad(Thumb[i], menu_mc.scroll_mc.thumb_mc["thumb"+i].holder); } menu_mc.scroll_mc.thumb_mc["thumb"+i].ID = i; menu_mc.scroll_mc.mask_mc._width = thumb_mc._width; //set scroll menu on gallery load menu_mc.scroll_mc.xSlideTo(-1*(ID-1)*menu_mc.scroll_mc.thumb_mc.thumb._width,0.75,"easeInOutExpo"); } }; // LOAD XML DATA loadXML = function (loaded) { if (loaded) { xmlNode = this.firstChild; Thumb = []; } else { trace("Error loading XML"); } }; xmlData = new XML(); xmlData.ignoreWhite = true; xmlData.onLoad = loadXML; xmlData.load("content.xml"); stop();

Rispondi quotando