• User Newbie

    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