Hi experts,
So I almost got that slideshow the way I want it, just too dumb to get the last tweaks right.
I used the “Kirupa xml slide show” for AS2, and added a fake zoom effect, where I actually on click swap the image for the larger version of the same image that visitor can drag around and inspect upclose.
One last thing that doesn’t work is that when initially the page loads, the larger image in the background shows up behind the smaller one, and I want it turned off. Once you start clicking, the two images hide and reveal perfectly, but not at first.
Here is the link
http://roberttaplin.com/enlarge/robert_taplin_planets_venues.html
And the complete AS code is pasted below. If anyone could please straighten me out, I would really appreciate it!
Stage.scaleMode = “noScale”;
Stage.align = “LB”;
function zoomOut() {
mc_picture.zoomed._visible = false;
mc_picture.picture._visible = true;
}
function zoomIn() {
mc_picture.zoomed._visible = true;
mc_picture.picture._visible = false;
this.onEnterFrame = function() {
mc_picture.zoomed._x = (mc_picture.zoomed._x-_root._xmouse/2 )/1.500000E+00;
mc_picture.zoomed._y = (mc_picture.zoomed._y-_root._ymouse/1 )/1.500000E+00;
};
}
mc_picture.zoomInBtn.onPress = function() {
zoomIn();
};
mc_picture.zoomInBtn.onRelease = function() {
zoomOut();
delete onEnterFrame;
};
mc_picture.zoomInBtn.onReleaseOutside = function() {
zoomOut();
delete onEnterFrame;
};
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
thumbnails = [];
zoom = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
thumbnails* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
zoom* = xmlNode.childNodes*.childNodes[3].firstChild.nodeValue;
thumbnails_fn(i);
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(“planets_venues.xml”);
/////////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
prevImage();
} else if (Key.getCode() == Key.RIGHT) {
nextImage();
}
};
Key.addListener(listen);
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
/////////////////////////////////////
p = 0;
var cx = mc_picture.picture._x;
var cy = mc_picture.picture._y;
var zx = mc_picture.zoomed._x;
var zy = mc_picture.zoomed._y;
mc_picture.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = false;
preloader.preload_bar._xscale = 100*loaded/filesize;
if (mc_picture.picture._width) {
preloader._visible = false;
if (mc_picture.picture._alpha<100) {
mc_picture.picture._alpha += 10;
}
mc_picture.picture._x = cx-mc_picture.picture._width/2;
mc_picture.picture._y = cy-mc_picture.picture._height/2;
mc_picture.zoomed._x = zx-mc_picture.zoomed._width/2;
mc_picture.zoomed._y = zy-mc_picture.zoomed._height/2;
}
};
//center image
mc_picture._x = Stage.width/2+283;
listen = new Object();
listen.onResize = function() {
mc_picture._x = Stage.width/2+283;
};
Stage.addListener(listen);
//
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
mc_picture.picture._alpha = 0;
mc_picture.picture.loadMovie(image[p],1);
mc_picture.zoomed.loadMovie(zoom[p],1);
mc_picture.desc_txt.text = description[p];
picture_num();
//mc_picture.zoomed._visible = false;
}
}
}
function prevImage() {
if (p>0) {
p–;
mc_picture.picture._alpha = 0;
mc_picture.picture.loadMovie(image[p],1);
mc_picture.zoomed.loadMovie(zoom[p],1);
mc_picture.desc_txt.text = description[p];
picture_num();
//mc_picture.zoomed._visible = false;
}
}
function firstImage() {
if (loaded == filesize) {
mc_picture.picture._alpha = 0;
mc_picture.picture.loadMovie(image[p],1);
mc_picture.zoomed.loadMovie(zoom[p],1);
mc_picture.desc_txt.text = description[0];
picture_num();
}
}
function thumbNailScroller() {
// thumbnail code!
this.createEmptyMovieClip(“tscroller”,1000);
scroll_speed = 1.3;
tscroller.onEnterFrame = function() {
if ((_root._ymouse>=thumbnail_mc._y) && (_root._ymouse<=thumbnail_mc._y+thumbnail_mc._height)) {
if ((_root._xmouse>=(hit_right._x-80)) && (thumbnail_mc.hitTest(hit_right))) {
thumbnail_mc._x -= scroll_speed;
} else if ((_root._xmouse<=(hit_left._x+80)) && (thumbnail_mc.hitTest(hit_left))) {
thumbnail_mc._x += scroll_speed;
}
} else {
delete tscroller.onEnterFrame;
}
};
}
function thumbnails_fn(k) {
thumbnail_mc.createEmptyMovieClip(“t”+k,thumbnail_mc.getNextHighestDepth());
tlistener = new Object();
tlistener.onLoadInit = function(target_mc) {
target_mc._x = hit_left._x+(target_mc._width+5)*k;
target_mc.pictureValue = k;
target_mc.onRelease = function() {
p = this.pictureValue-1;
nextImage();
};
target_mc.onRollOver = function() {
this._alpha = 50;
thumbNailScroller();
};
target_mc.onRollOut = function() {
this._alpha = 100;
};
};
image_mcl = new MovieClipLoader();
image_mcl.addListener(tlistener);
image_mcl.loadClip(thumbnails[k],“thumbnail_mc.t”+k);
}