- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- problema galleria xml
-
problema galleria xml
Salve a tutti, sono un nuovo utente del forum...mi chiamo Valerio.
Ho un serio problema riguardo il sito che sto realizzando in flash. Posso dire che il sito è quasi concluso. E' composto da quattro file swf (uno per lo slideshow, un altro per la galleria, uno per la main e un altro per la pagina dei prodotti) tre dei quali in AS3 e la galleria in AS2.
In quelli in AS3 le immagini sono caricate da libreria, quindi ho applicato il consenti smussatura manualmente, e l'swf viene ridimensionato in proporzione, anche perchè lo pubblico in percentual(100% larghezza e 100% altezza). Tuttavia, non riesco ad avere risultati con la galleria, in AS2. Ho letto della proprietà "forceSmoothing" da utilizzare all'event onLoad o anche di attachBitmap(e qui è settato truw) ma la pagina non si ridimensiona neppure. Il codice è questo:nel frame 1: #include "mc_tween2.as" Stage.showMenu = false; Stage.scaleMode = "noScale"; stop(); _global.p = 0; _global.loaded = 0; // // User Variables var movieW:Number = 800; var movieH:Number = 410; var imageHeight:Number = 370; // // Preload function checkMovieLoad() { this.onEnterFrame = function() { if (_root.getBytesTotal() == _root.getBytesLoaded()) { this.onEnterFrame = null; gotoAndStop("xml"); } else { loadBox.text = (_root.getBytesTotal()/_root.getBytesLoaded())*100+"% LOADED..."; } }; } infoBox.text = "Loading Interface..."; checkMovieLoad(); nel frame 2: stop(); // // Load XML function loadXML(loaded) { if (loaded) { xmlRoot = this.firstChild; imageTotal = xmlRoot.childNodes.length; createImages(); } else { trace(xmlFile+" not loaded!"); } } xmlData = new XML(); xmlData.ignoreWhite = true; xmlData.onLoad = loadXML; xmlFile = "gallery.xml"; xmlData.load(xmlFile); // // Create Image Objects function createImages() { for (i=0; i<imageTotal; i++) { _root["image"+i] = new Object(); _root["image"+i].id = i; _root["image"+i].path = xmlRoot.childNodes*.attributes.path; _root["image"+i].abstract = xmlRoot.childNodes*.attributes.abstract; _root["image"+i].w = 0; _root["image"+i].h = 0; } gotoAndStop("start"); } // infoBox.text = "Loading XML..."; nel frame 3: stop(); // // Duplicate Movieclip function duplicateMovieClipImage(from, target) { var visuals = new flash.display.BitmapData(from._width, from._height, true, 0x000000); target.attachBitmap(visuals, 0, "auto", true); visuals.draw(from); } // // Preload Image var xPreload:Number = Stage.width; function preloadImage() { mc = attachMovie("preloadImage", "preloadImage"+loaded, loaded, {_x:xPreload, _y:0}); mc.id = loaded; xPreload += 100; scrollBar(); } // // Move LoadBox this.onEnterFrame = function() { if (loaded == imageTotal) { infoBox._visible = false; delete this.onEnterFrame; } else { infoBox.text = "Loading Image "+(loaded+1)+"/"+imageTotal; infoBox._x = (imageHolder._width+imageHolder._x)+10; } }; // // Check Load function checkLoad() { if (loaded != imageTotal) { if (loaded == 1) { disableImages(); } preloadImage(); } } // // Place Images imageHolder._y = (_root.movieH/2)-(imageHeight/2+imageHolder.imageBox0.textBox); var xPos:Number = 0, spacer:Number = 40; function placeImage() { mc = imageHolder.attachMovie("imageBox", "imageBox"+loaded, loaded, {_x:xPos, _y:0}); mc.id = loaded; xPos += _root["image"+loaded].w+spacer; _global.loaded++; // checkLoad(); } // // Next Image function nextImage() { var whereTo:Number = imageHolder["imageBox"+p]._x+(_root["image"+p].w/2)-20; imageHolder.xSlideTo((_root.movieW/2)-whereTo, 0.6, "easeInOutCubic", 0.1, function () { sortDetail(); }); } // // Disable Images function disableImages() { for (i=0; i<_root.imageTotal; i++) { _root.imageHolder["imageBox"+i].enabled = false; } // var whereTo:Number = imageHolder["imageBox"+p]._x+(_root["image"+p].w/2)+10; imageHolder.xSlideTo((_root.movieW/2)-whereTo, 0.6, "easeInOutCubic", 0.1, function () { sortDetail(); }); } // // Sort Detail function sortDetail() { for (i=0; i<imageTotal; i++) { if (i == p) { // This image is selected imageHolder["imageBox"+i].enabled = false; imageHolder["imageBox"+p].image.alphaTo(100, 0.3, "linear", 0.1); var goto:Number = imageHolder["imageBox"+p].textBox._y+imageHolder["imageBox"+p].textBox._height; imageHolder["imageBox"+p].textBox.ySlideTo(goto, 0.3, "easeInOutCubic", 0.1); } else { // This image isn't selected imageHolder["imageBox"+i].enabled = true; } } } // // SetUp Scrollbar scrollBar.onResize = function() { scrollBar._y = 0; //trace("scrollbar "+loaded); } // var resizeListener:Object = new Object(); Stage.addListener(resizeListener); Stage.addListener(scrollBar); scrollBar.onResize(); // preloadImage(); relativo al simbolo imageBox: var ad:Number = 20; // _root.duplicateMovieClipImage(_root["preloadImage"+id], image); image._alpha = 38; borderMC._height = _root["image"+id].h+ad; borderMC._width = _root["image"+id].w+ad; textBox._y = borderMC._height-textBox._height; textBox.borderMC._width = _root["image"+id].w+ad; textBox.infoBox.text = _root["image"+id].abstract; textBox.infoBox.autoSize; // borderMC.swapDepths(this.getNextHighestDepth()); image.swapDepths(this.getNextHighestDepth()); // this.onRelease = function() { _root.imageHolder["imageBox"+p].image.alphaTo(40, 0.3, "linear", 0.1); var goto:Number = (_root.imageHolder["imageBox"+p].borderMC._y+_root.imageHolder["imageBox"+p].borderMC._height)-_root.imageHolder["imageBox"+p].textBox._height; _root.imageHolder["imageBox"+p].textBox.ySlideTo(goto, 0.3, "easeInOutCubic", 0.1); // Change _global.p _global.p = id; _root.disableImages(); }; relativo al simbolo preloadImage: import flash.display.BitmapData; loadMovie(_root["image"+id].path, cont); // this.onEnterFrame = function() { var loaded:Number = this.cont.getBytesLoaded(); var filesize:Number = this.cont.getBytesTotal(); if (loaded == filesize && filesize>10) { _root["image"+id].w = cont._width; _root["image"+id].h = cont._height; // delete this.onEnterFrame; _root.placeImage(); } }
Anche il minimo aiuto è gradito, grazie