Skip to main content
Participating Frequently
June 20, 2009
Question

controling an XML based scrolling thumbnails

  • June 20, 2009
  • 1 reply
  • 560 views

hi!

this is my code so far:

import caurina.transitions.*;


var xmlRequest:URLRequest = new URLRequest("scrolling.xml");
var xmlLoader:URLLoader = new URLLoader(xmlRequest);
var imgData:XML;
var imageLoader:Loader;
var rawImage:String;
var rawH:String;
var rawW:String;
var pos:Number;

var imgNum:Number = 0;

xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedF);


Tweener.addTween(Bar_am, {x:-1000, time:10, transition:"linear"});

function xmlLoadedF(event:Event):void{
imgData = new XML(event.target.data);
rawImage = imgData.image[imgNum].imgURL;
rawW = imgData.image[imgNum].imgW
rawH = imgData.image[imgNum].imgH
imageLoader = new Loader;
imageLoader.load(new URLRequest(rawImage));
Bar_am.addChild(imageLoader);
imageLoader.x = stage.stageWidth;
imageLoader.y = (stage.stageHeight - Number(rawH)) / 2;
}

am trying to make that object to scrol depending on the mouse pos:

ex:

if mouse pose < 50 scrol ight

if mouse pos >500 scrol left

....

and when am out off the scrolling bar the bar goes to the normal scrolling

thx in advance

PS: tryed many functions not working

This topic has been closed for replies.

1 reply

kglad
Community Expert
Community Expert
June 21, 2009

you're loading one image and you're trying to scroll Bar_am?

Participating Frequently
June 21, 2009

hi!

basacly am trying to have a list of pics then every single pic must be clickable and have some effect when the mouse is over it

but am stuck!

should I load everything first?


thx

otherwise, since I must get it done by the end of the I have this code that am trying to change

but don't know how to transform the function responssible for the movement!

plz help

the code:

picData = new XML();
picData.ignoreWhite = true;
picData.onLoad = loadXML;
picData.load("xmlArtData.xml");
function loadXML() {
runScript();
}
function runScript() {
_root.createEmptyMovieClip("bg", 1);
_root.createEmptyMovieClip("image", 3);
_root.createEmptyMovieClip("thumbnails", 2);
images = new Array();
for (i=0; picData.firstChild.childNodes.firstChild.nodeValue != undefined; i++) {
  images.push(picData.firstChild.childNodes.firstChild.nodeValue);
}
thumbnails._x = 280;
thumbnails._y = 375;
imageLoading = true;
numObjects = images.length;
objectsInScene = new Array();
focalLength = 800;
spin = 0;
_root.thumbnailSize = 125/((numObjects)/9);
displayPane = function () {
  var angle = this.angle+spin;
  var x = Math.cos(angle)*this.radius;
  var z = Math.sin(angle)*this.radius;
  var y = this.y;
  var scaleRatio = focalLength/(focalLength+z);
  this._x = x*scaleRatio;
  this._y = y*scaleRatio;
  this._xscale = -(this._yscale=100*scaleRatio);
  this._xscale *= Math.sin(angle);
  this.swapDepths(Math.round(-z));
};
angleStep = 2*Math.PI/numObjects;
for (i=0; i<numObjects; i++) {
  thumbnail = thumbnails.createEmptyMovieClip("thumbnail_"+i, i);
  myPic = thumbnail.createEmptyMovieClip("picHolder", 1);
  myPic.loadMovie(images);
  thumbnail.angle = angleStep*i;
  thumbnail.radius = 250;
  thumbnail.x = Math.cos(thumbnail.angle)*thumbnail.radius;
  thumbnail.z = Math.sin(thumbnail.angle)*thumbnail.radius;
  thumbnail.y = 40;
  thumbnail.display = displayPane;
  thumbnail.drawBox(_root.thumbnailSize);
  thumbnail.buttonize(i);
  thumbnail.notLoaded = true;
  objectsInScene.push(thumbnail);
}
panCamera = function () {
  spin -= this._xmouse/10000;
  for (var i = 0; i<objectsInScene.length; i++) {
   objectsInScene.display();
  }
};
thumbnails.onEnterFrame = panCamera;
_root.onEnterFrame = function() {
  for (i=0; i<images.length; i++) {
   if ((_root.thumbnails["thumbnail_"+i].picHolder.getBytesLoaded()/_root.thumbnails["thumbnail_"+i].picHolder.getBytesTotal() == 1) && _root.thumbnails["thumbnail_"+i].notLoaded) {
    if (_root.thumbnails["thumbnail_"+i].picHolder._width>=_root.thumbnails["thumbnail_"+i].picHolder._height) {
     _root.thumbnails["thumbnail_"+i].picHolder._yscale = _root.thumbnails["thumbnail_"+i].picHolder._xscale=(100*(1-(_root.thumbnails["thumbnail_"+i].picHolder._width-_root.thumbnailSize)/(_root.thumbnails["thumbnail_"+i].picHolder._width)));
     _root.thumbnails["thumbnail_"+i].picHolder._y = (_root.thumbnailSize-_root.thumbnails["thumbnail_"+i].picHolder._height)/2;
    }
    if (_root.thumbnails["thumbnail_"+i].picHolder._width<=_root.thumbnails["thumbnail_"+i].picHolder._height) {
     _root.thumbnails["thumbnail_"+i].picHolder._yscale = _root.thumbnails["thumbnail_"+i].picHolder._xscale=(100*(1-(_root.thumbnails["thumbnail_"+i].picHolder._height-_root.thumbnailSize)/(_root.thumbnails["thumbnail_"+i].picHolder._height)));
     _root.thumbnails["thumbnail_"+i].picHolder._x = (_root.thumbnailSize-_root.thumbnails["thumbnail_"+i].picHolder._width)/2;
    }
    if (_root.thumbnails["thumbnail_"+i].picHolder._width == _root.thumbnails["thumbnail_"+i].picHolder._height) {
     _root.thumbnails["thumbnail_"+i].picHolder._yscale = _root.thumbnails["thumbnail_"+i].picHolder._xscale=(100*(1-(_root.thumbnails["thumbnail_"+i].picHolder._width-_root.thumbnailSize)/(_root.thumbnails["thumbnail_"+i].picHolder._width)));
     _root.thumbnails["thumbnail_"+i].picHolder._x = _root.thumbnails["thumbnail_"+i].picHolder._y=0;
    }
    _root.thumbnails["thumbnail_"+i].picHolder._alpha = 60;
    _root.thumbnails["thumbnail_"+i].notLoaded = false;
   }
   if ((_root.thumbnails["thumbnail_"+i].picHolder.getBytesLoaded()/_root.thumbnails["thumbnail_"+i].picHolder.getBytesTotal()<1)) {
   }
  }
  if (_root.image.getBytesLoaded()/_root.image.getBytesTotal() == 1) {
   if (imageLoading == true) {
    _root.image._alpha = 0;
    if (_root.image._width>_root.image._height) {
     _root.image._yscale = _root.image._xscale=(100*(1-(_root.image._width-400)/_root.image._width));
    }
    if (_root.image._height>_root.image._width) {
     _root.image._yscale = _root.image._xscale=(100*(1-(_root.image._height-400)/_root.image._height));
    }
    if (_root.image._height == _root.image._width) {
     _root.image._yscale = _root.image._xscale=(100*(1-(_root.image._height-400)/_root.image._height));
    }
    _root.image._x = (625-_root.image._width)/2;
    _root.image._y = (425-_root.image._height);
    imageLoading = false;
   }
   _root.image._alpha += 5;
   if (image._alpha>100) {
    image._alpha = 100;
   }
  }
};
}
MovieClip.prototype.buttonize = function(num) {
this.onPress = function() {
  imageLoading = true;
  _root.image.removeMovieClip();
  _root.createEmptyMovieClip("image", 3);
  _root.image.loadMovie(images[num]);
};
this.onRollOver = function() {
  this.picHolder._alpha = 100;
};
this.onRollOut = function() {
  this.picHolder._alpha = 60;
};
};
MovieClip.prototype.drawBox = function(boxSize) {
this.lineStyle(1, 0x000000, 0);
this.beginFill(0x000000, 100);
this.lineTo(boxSize, 0);
this.lineTo(boxSize, boxSize);
this.lineTo(0, boxSize);
this.lineTo(0, 0);
this.endFill();
};

kglad
Community Expert
Community Expert
June 21, 2009

some of that code is as3 and some of it is as2.  and if you were publishing for as3, you should be seeing a lot of error messages.

which a.s. version are you publishing for?