1 Reply Latest reply on May 15, 2007 2:07 AM by dr_ross

    Flash Product Rotators

    MHSVar60
      I am modifying a rotator that was used on the old site I worked with. Go to orderpaintball.com and look on the right hand side of the page, you will see a flash rotator displaying our products. This runs off of an XML file and is very flexible when hanging products.

      On the rotator I am trying to restrict the image size to 150x112 px. The current rotator has no limit to the image size, thus allowing it to "blow up" the rotator. I have the following actionscript under it, but I need to know how to adjust the vlaues so it will restrict only to this size.

      // stage alteration
      Stage.scaleMode = "noScale";
      Stage.align = "LT";
      // set random # variables - each must be 0 for first 'while' loop below
      var randomNum = 0;
      var randomNumLast = 0;
      // movie clip containers
      this.createEmptyMovieClip("loader1_mc", 2, {_x:0, _y:0});
      this.createEmptyMovieClip("loader2_mc", 1, {_x:0, _y:0});
      this[loader1_mc]._x = 13;
      this[loader1_mc]._y = 31;
      // preload watcher
      this.createEmptyMovieClip("watcher_mc", 3);
      // load xml
      images_xml = new XML();
      images_xml.ignoreWhite = true;
      images_xml.onLoad = parse;
      images_xml.load(folders+"images.xml");
      function parse(success) {
      if (success) {
      imageArray = new Array();
      var root = this.firstChild;
      _global.numPause = Number(this.firstChild.attributes.timer*1000);
      _global.order = this.firstChild.attributes.order;
      _global.looping = this.firstChild.attributes.looping;
      loadMovie(this.firstChild.attributes.background, "ourMovieClip");
      _global.fadetime = Number(this.firstChild.attributes.fadetime);
      _root.adTitle = this.firstChild.attributes.topper;
      var imageNode = root.lastChild;
      var s = 0;
      while (imageNode.nodeName != null) {
      imageData = new Object();
      imageData.path = imageNode.attributes.path;
      imageData.link = imageNode.attributes.jpegURL;
      imageData.item = imageNode.attributes.itemTitle;
      imageData.note = imageNode.attributes.note;
      imageData.price = imageNode.attributes.price;
      imageArray[s] = imageData;
      imageNode = imageNode.previousSibling;
      s++;
      }
      imageArray.reverse();
      imageGen(imageArray);
      } else {
      trace('problem');
      }
      }
      // depth swapping
      function swapPlace(clip, num) {
      eval(clip).swapDepths(eval("loader"+num+"_mc"));
      }
      function loadImages(data, num) {
      if (i == undefined || i == 2) {
      i = 2;
      createLoader(i, data, num);
      i = 1;
      } else if (i == 1) {
      createLoader(i, data, num);
      i = 2;
      }
      }
      function createLoader(i, data, num) {
      thisLoader = eval("loader"+i+"_mc");
      thisLoader._alpha = 0;
      thisLoader.loadMovie(data
      .path);
      _root.linkage = data
      .link;
      _root.itemNote = data
      .note;
      _root.itemText = +data
      .item+"\n"+data
      .price;
      watcher_mc.onEnterFrame = function() {
      var picLoaded = thisLoader.getBytesLoaded();
      var picBytes = thisLoader.getBytesTotal();
      if (isNaN(picBytes) || picBytes<4) {
      return;
      }
      if (picLoaded/picBytes>=1) {
      swapPlace("loader2_mc", 1);
      thisLoader.alpha(_global.fadeTime, 100);
      timerInterval = setInterval(imageGen, _global.numPause, data);
      delete this.onEnterFrame;
      }
      };
      }
      function imageGen(data) {
      // start at 0, increment to total number of images, then drop back to zero when done
      if (p == undefined || p == data.length && _global.looping == "yes") {
      p = 0;
      } else {
      break;
      }
      loadImages(data, p);
      p++;
      clearInterval(timerInterval);
      }
      stop();


      Can anybody help me out on this? If you know how, please post to this topic or email me at miltaryaf21@gmail.com

      Thank you,

      Sean
        • 1. Re: Flash Product Rotators
          dr_ross Level 1
          you'll be wanting to reference the _width and _height properties of the movieclip holding the image, and without delving too deeply it would seem to be in your createLoader function and you;d reference the properties in the same manner you're already doing for _alpha

          i.e.

          thisLoader._alpha = 0;
          thisLoader._width = 150;
          thisLoader._height = 112;

          but theres a lot of odd looking code there so its hard to tell.