Image Gallery Issue in As3
Hi,
I am trying to implement a simple image gallery with alpha transition using as3. But an issue is occuring with this. After each image alpha transition, the stage becomes blank. The code i have used for image Gallery is following.CAn anybody help me. I am trying this for a week. but still i have a hope for make this working. So please help me.
import flash.display.Loader;
import flash.display.*;
import gs.TweenLite;
const TIMER_DELAY = 2000;
var totImages:Number;
var index:Number = 0;
var imgArr:Array = new Array();
var currentContainer:MovieClip = holder0;
currentContainer.alpha = 0;
var transTimer:Timer = new Timer(TIMER_DELAY);
//transTimer.addEventListener(TimerEvent.TIMER, startTransition);
var imgLoader:Loader = new Loader();
var myXML:XML = new XML();
var XML_URL:String = "images.xml";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
function xmlLoaded(event:Event):void{
myXML = XML(myLoader.data);
processXML(myXML);
function processXML(xml){
totImages = xml.children().length();
for(var i=0;i<totImages;i++){
var tempVar = xml..item[i]..image;
imgArr.push(tempVar);
//transTimer.start();
currentContainer = holder0;
loadImage();
function loadImage(){
var url = imgArr[index];
//ImgLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressStatus);
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeInImg);
var fileRequest:URLRequest = new URLRequest(url);
imgLoader.load(fileRequest);
currentContainer.addChild(imgLoader);
function fadeInImg(e:Event){
TweenLite.to(currentContainer,3,{alpha:1,delay:2,onComplete:switchClip});
function switchClip(){
if(index < totImages){
index++;
} else {
index = 0;
if(currentContainer == holder0){
currentContainer = holder1;
} else {
currentContainer = holder0;
currentContainer.alpha = 0;
MovieClip(this.root).swapChildren(holder0, holder1);
loadImage();
Thanks and Regards,
Sreelash
Hi Adrei, I have implemented the thumbnail button also. Its working but the problem is that thumbnail buttons and controls are placing behind the image container. How can i place the thumbnail buttons and control buttons over the image. You can view the result in the following url:
http://www.creative-showcase.co.uk/BirdStudiosOld/Videos/test/scrllGallAnd.html
The working swf is with the following url:
http://www.creative-showcase.co.uk/BirdStudiosOld/Videos/test/scrllGall.html
The code that i used for creating thumbnail is following
import flash.display.DisplayObject;
import flash.display.*;
import flash.display.Loader;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.text.*;
import flash.net.*;
import flash.utils.Timer;
import gs.TweenLite;
import gs.easing.*;
var xmlURL:String = "http://www.creative-showcase.co.uk/BirdStudiosOld/Videos/test1/images.xml";
var loadedImages:Array = [];
var imageURLs:Array = [];
var thumbArr:Array = [];
var imageLoader:Loader;
var prevImage:DisplayObject;
var currentImage:DisplayObject;
var thumbContainer:MovieClip;
var currThumb:MovieClip;
var prevThumb:MovieClip = null;
var showTimer:Timer;
var timerDuration:int = 5000;
var tweenDuration:int = 2;
var currentIndex:int = 0;
var activIndx:Number = 0;
var slidesHolder:Sprite;
var prvFlag:Boolean = false;
var nxtFlag:Boolean = false;
var twnFlag:Boolean = false;
var rt_lt_Flag:Boolean = true;
var myXMLURL:URLRequest = new URLRequest(xmlURL);
var xmlLoader:URLLoader = new URLLoader(myXMLURL);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
xmlLoader.load(myXMLURL);
var a:int = 90;
ctrlBox.btnPlay.buttonMode = true;
ctrlBox.nextImg.buttonMode = true;
ctrlBox.prevBtn.buttonMode = true;
ctrlBox.btnPause.buttonMode = true;
ctrlBox.btnPlay.visible = false;
ctrlBox.btnPause.addEventListener(MouseEvent.CLICK,stopScroll);
ctrlBox.btnPlay.addEventListener(MouseEvent.CLICK,startScroll);
ctrlBox.nextImg.addEventListener(MouseEvent.CLICK,shwNext);
ctrlBox.prevBtn.addEventListener(MouseEvent.CLICK,shwPrev);
function xmlLoaded(e:Event):void {
var a:int = 45;
e.target.removeEventListener(Event.COMPLETE, xmlLoaded);
processXML(XML(e.target.data));
function processXML(xml:XML):void {
var len:int = xml.children().length();
var tempVar:String;
for (var i:int = 0; i < len; i++) {
tempVar = "http://www.creative-showcase.co.uk/BirdStudiosOld/Videos/test1/" + xml..item[i]..image;
//trace(tempVar)
imageURLs.push(tempVar);
preload();
createThumbs();
function createThumbs():void{
thumbContainer = new MovieClip();
addChild(thumbContainer);
for(var i:int=0;i<9;i++){
var thmbHolder:MovieClip = new MovieClip();
thumbContainer.addChild(thmbHolder);
//MovieClip(this.root).swapChildren(currentImage, ctrlBox);
thmbHolder.buttonMode = true;
var thmb:thumbClass = new thumbClass();
thmbHolder.addChild(thmb);
thumbArr.push(thmbHolder);
thmbHolder.name = i.toString();
thmb.imgNum.text = (i+1).toString();
thmbHolder.addEventListener(MouseEvent.CLICK,showImage)
//trace(thmb.imgNum.text)
thmbHolder.x = i*(thmbHolder.width+5)+5;
thumbContainer.y = stage.stageHeight - thumbContainer.height;
function showImage(e:MouseEvent):void{
var imgIndx:Number = e.target.parent.parent.name;
prevThumb = currThumb;
currThumb = e.target.parent.parent;
currThumb.buttonMode = false;
if(activIndx != imgIndx){
prevThumb.buttonMode = true;
currentIndex = imgIndx-1;
shwNext(null);
activIndx = imgIndx;
} else {
stopScroll(null);
function preload():void{
var len:int = imageURLs.length;
for (var i:int = 0; i < len; i++) {
imageLoader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onPreloadComplete);
loadedImages.push(imageLoader);
imageLoader.load(new URLRequest(imageURLs[i]));
function onPreloadComplete(e:Event):void {
e.target.removeEventListener(Event.COMPLETE, onPreloadComplete);
if (!showTimer && loadedImages[0].content && loadedImages[1].content ) startShow();
function startShow():void{
currentImage = loadedImages[0];
currentImage.alpha = 0;
slidesHolder = new Sprite();
var slideMask:Sprite = new Sprite();
var gr:Graphics = slideMask.graphics;
gr.beginFill(0xff0000);
gr.drawRect(0, 0, currentImage.width, currentImage.height);
gr.endFill();
addChild(slidesHolder);
addChild(slideMask);
slidesHolder.x = slideMask.x = 0;
slidesHolder.y = slideMask.y = 0;
slidesHolder.mask = slideMask;
slidesHolder.addChild(currentImage);
TweenLite.to(currentImage, 10, { alpha: 1 } );
showTimer = new Timer(timerDuration);
showTimer.addEventListener(TimerEvent.TIMER, slideTransition);
showTimer.start();
function slideTransition(e:TimerEvent):void{
var nextImage:int;
if(rt_lt_Flag == true){
if(nxtFlag == true){
showTimer.stop();
nxtFlag = false;
nextImage = currentIndex < loadedImages.length - 1 ? currentIndex + 1 : 0;
if (loadedImages[nextImage].content) {
currentIndex = nextImage;
loadedImages[currentIndex].x = slidesHolder.width;
slidesHolder.addChildAt(loadedImages[currentIndex], slidesHolder.getChildIndex(currentImage));
prevImage = currentImage;
currentImage = loadedImages[currentIndex];
showCurrent();
} else {
if(prvFlag == true){
showTimer.stop();
prvFlag = false;
nextImage = currentIndex > 0 ? currentIndex - 1 : loadedImages.length - 1;
if (loadedImages[nextImage].content) {
currentIndex = nextImage;
loadedImages[currentIndex].x = -(stage.stageWidth);
slidesHolder.addChildAt(loadedImages[currentIndex], slidesHolder.getChildIndex(currentImage));
prevImage = currentImage;
currentImage = loadedImages[currentIndex];
showCurrent();
activIndx = currentIndex;
//trace(currentIndex)
function showCurrent():void{
// make sure they have proper alphas
//prevImage.alpha = 1;
//currentImage.alpha = 0;
//TweenLite.to(prevImage, tweenDuration, { x: -slidesHolder.width } );
twnFlag = true;
if(rt_lt_Flag == true){
TweenLite.to(currentImage, tweenDuration, { x: 0, onUpdate:onTweenProgress, onComplete: removePrevious } );
} else {
TweenLite.to(currentImage, tweenDuration, { x: 0, onUpdate:onTweenProgress, onComplete: removePrevious } );
function onTweenProgress():void{
if(rt_lt_Flag == true){
prevImage.x = currentImage.x - prevImage.width;
} else {
prevImage.x = currentImage.x + prevImage.width;
function removePrevious():void {
if (slidesHolder.contains(prevImage)) slidesHolder.removeChild(prevImage);
twnFlag = false;
function stopScroll(e:MouseEvent):void{
ctrlBox.btnPlay.visible = true;
ctrlBox.btnPause.visible = false;
showTimer.stop();
function startScroll(e:MouseEvent):void{
rt_lt_Flag = true;
ctrlBox.btnPlay.visible = false;
ctrlBox.btnPause.visible = true;
resetListener(timerDuration=5000,tweenDuration=2)
function shwNext(e:MouseEvent):void{
if(twnFlag == false){
rt_lt_Flag = true;
stopScroll(null);
nxtFlag = true;
resetListener(timerDuration=0,tweenDuration=1)
function shwPrev(e:MouseEvent):void{
if(twnFlag == false){
rt_lt_Flag = false;
stopScroll(null);
prvFlag = true;
resetListener(timerDuration=0,tweenDuration=1)
function resetListener(timerDuration,tweenDuration){
showTimer.removeEventListener(TimerEvent.TIMER, slideTransition);
showTimer = new Timer(timerDuration);
showTimer.addEventListener(TimerEvent.TIMER, slideTransition);
showTimer.start();
Can you help me on how can i swap the depth of images and control buttons.
Thanks and regards,
Sreelash
Similar Messages
-
If a mod could delete my other post as I am quite far on from that and now having different issues. Thanks.
I am really stuck. I will try my best to explain things clearly. I am making an image gallery and I got the code from this gallery here.
http://www.flashmo.com/preview/flashmo_122_3d_curve_gallery
I made some changes to make it how I wanted it, nothing drastic though. So now I have a nice gallery.
Explaining what I am trying to do will better help explain things. I am creating a modelling agency website. The gallery I created above will display an individual image of every model in the agency (which it does). Now when one of the model images is clicked, I then need it to load another image gallery which contains the complete set of images for that model, plus some of their information etc.
The way I am approaching it at the moment is to create an individual image gallery for every model in its own fla file. If say the first model is clicked (image 1) it will load the corresponding swf (1.swf). I am not sure how good it is loading an swf into what I already have, but couldnt think of another way. So now I have a seperate image gallery just to test things out, and I need to load it into my original image gallery.
So, I will show the code for the first gallery (which displays the individual images of each model). The important methods are p_click (which hides the first gallery and loads the external swf), and on_pic_loaded (which displays the external swf).
I hope you understand what I am attempting, as I dont know if I have explained it right as my brain is going dead! (although I am liking the challenge).
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import caurina.transitions.*;
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
var container_x:Number = stage.stageWidth * 0.5;
var container_y:Number = stage.stageHeight * 0.5 + 160;
var container:Sprite = new Sprite();
container.x = container_x;
container.y = container_y;
addChild(container);
var scene:Scene3D = new MovieScene3D(container);
var cam:Camera3D = new Camera3D();
cam.zoom = 6;
tn_url_target.visible = false;
tn_title.text = "";
tn_desc.text = "";
tn_url.text = "";
loading_info.text = "";
url_button.visible = false;
var no_of_ring:Number = 1;
var angle:Number = 0;
var p_dict:Dictionary = new Dictionary();
var pa:Array = new Array();
var filename_list = new Array();
var url_list = new Array();
var url_target_list:Array = new Array();
var title_list = new Array();
var description_list = new Array();
var folder:String = "photos/thumbs/";
var i:Number;
var total:Number;
var flashmo_xml:XML = new XML();
var pic_loader:Loader = new Loader();
var mLoader:Loader = new Loader();
var xml_loader:URLLoader = new URLLoader();
xml_loader.load(new URLRequest("thumbnail_list_5.xml"));
xml_loader.addEventListener(Event.COMPLETE, create_thumbnail);
function create_thumbnail(e:Event):void
flashmo_xml = XML(e.target.data);
total = flashmo_xml.thumbnail.length();
var angle_per:Number = Math.PI * 2 * no_of_ring / total;
for( i = 0; i < total; i++ )
filename_list.push( flashmo_xml.thumbnail[i][email protected]() );
url_list.push( flashmo_xml.thumbnail[i][email protected]() );
url_target_list.push( flashmo_xml.thumbnail[i][email protected]() );
title_list.push( flashmo_xml.thumbnail[i][email protected]() );
description_list.push( flashmo_xml.thumbnail[i][email protected]() );
var bfm:BitmapFileMaterial = new BitmapFileMaterial(
folder + flashmo_xml.thumbnail[i][email protected]());
bfm.oneSide = false;
bfm.smooth = true;
var p:Plane = new Plane(bfm, 100, 100, 2, 2);
scene.addChild(p);
var p_container:Sprite = p.container;
p_container.name = "flashmo_" + i;
p_dict[p_container] = p;
p_container.buttonMode = true;
p_container.addEventListener( MouseEvent.ROLL_OVER, p_rollover );
p_container.addEventListener( MouseEvent.ROLL_OUT, p_rollout );
p_container.addEventListener( MouseEvent.CLICK, p_click );
p.rotationY = - (i * angle_per) * (180/Math.PI) + 90;
p.x = Math.cos(i * angle_per) * 300;
p.z = Math.sin(i * angle_per) * 300;
p.y = Math.floor( i / 22 ) * 5;
function startLoad()
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest("/subgallery/1.swf");
mLoader.load(mRequest);
function p_rollover(me:MouseEvent)
var sp:Sprite = me.target as Sprite;
Tweener.addTween( sp, {alpha: 0.5, time: 0.5, transition:"easeOutExpo"} );
function p_rollout(me:MouseEvent)
var sp:Sprite = me.target as Sprite;
Tweener.addTween( sp, {alpha: 1, time: 0.4, transition:"easeInExpo"} );
function p_click(me:MouseEvent)
var sp:Sprite = me.target as Sprite;
var s_no:Number = parseInt(sp.name.slice(8,10));
var mRequest:URLRequest = new URLRequest("subgallery/1.swf");
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, on_pic_loaded);
mLoader.load(mRequest);
Tweener.addTween( container, { y: 1200, time: 0.6, transition:"easeInExpo" } );
function goto_URL(me:MouseEvent)
navigateToURL(new URLRequest(tn_url.text), tn_url_target.text);
function on_open(e:Event):void
loading_info.text = "Loading... 0%";
function on_progress(e:ProgressEvent):void
var percent:Number = Math.round(e.bytesLoaded / e.bytesTotal * 100);
loading_info.text = "Loading... " + percent + "%";
function on_pic_loaded(e:Event):void
addChild(e.currentTarget.content);
//addChildAt(mLoader, 1);
mLoader.x = Math.round(stage.stageWidth - mLoader.width) * 0.5;
mLoader.y = Math.round(stage.stageHeight - mLoader.height) * 0.5;
//mLoader.addEventListener(MouseEvent.CLICK, remove_pic);
Tweener.addTween( mLoader, { alpha: 1, time: 0.8, transition:"easeInExpo" } );
removeEventListener(Event.ENTER_FRAME, render);
function remove_pic(e:Event):void
Tweener.addTween( pic_loader, { alpha: 0, time: 1, onComplete:function() { removeChild(this); } } );
Tweener.addTween( container, { y: container_y, time: 1, delay: 1, transition:"easeOutExpo"} );
addEventListener(Event.ENTER_FRAME, render);
tn_title.text = "";
tn_desc.text = "";
tn_url.text = "";
url_button.visible = false;
addEventListener(Event.ENTER_FRAME, render);
function render(e:Event):void
var distance_x:Number = (stage.mouseX - 400) * 0.0001;
angle += distance_x;
cam.x = - Math.cos(angle) * 150;
cam.z = Math.sin(angle) * 150;
scene.renderCamera(cam);
Current issues as the moment is firstly, I dont know if this is the best way to achieve what I want. Maybe there is a better option someone could tell me about, but you have to remember that each image displayed here will have multiple images to go with it.
In terms of what I am attempting above, I currently get
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: file:///C|/Users/Nick/Desktop/gallery/gallery.xml
at _1_fla::MainTimeline/frame1()
I assume its a url error so I changed all urls in both fla's to contain the whole url path. Didnt seem to work though unless I missed something.
Any advise on absolutely anything will be so appreciated.
Many thanks
NickSorry about that. If you can check my history, I normally always thank people who have helped, and I was intending to go back on the last few to sort them out. Just got my first job so it has been rather hectic and been stressing out to much. Also, I do things slightly different to other people. If I receive a correct answer (which I normally do thank), I tend not to actually reply but to thank instead, mainly because if I reply I am pushing unanswered questions further down the list and eventually out of view. I will go back and sort out the thanks I owe.
In terms of asking the mods, other forums I visit are normally moderated by the community, so I assumed that someone like yourself might be the moderator.
I tottally understand what you are saying, and as I say, I am normally on top of this. Will go back now and sort out the thanks.
Sorry for the delay.
Nick -
Image Gallery issues with Lightbox2 - please help!
Hello there,
I am using Lightbox2 image gallery. The loading.gif and close.gif aren't showing up and I think there's an issue with the path in the lightbox.js file. The loading and close gifs are located in the Images gallery so I changed the path in the lightbox.js file accordingly - I've gone through this many many times but they are still not showing up.
Can anyone please help me?
My website is: www.labellepetraie.com
Here's where I downloaded the script from: http://www.huddletogether.com/projects/lightbox2/#how
I have tried all the path combinations mentioned in their forum but to no avail. What am I doing wrong?
Thank you for any help you can offer to me.
Regards!Interesting. I've just looked at your scripts, and it would appear that you have blended two versions of lightbox2 on your page,. Is that possible? The lightbox.js file has no function called initLightbox() in it, whereas older versions do. So, try changing this:
window.onload = function(){ // use this instead of <body onload …>
MM_preloadImages('../3websites/home4.jpg','../3web sites/amenities1.jpg','../3websites/inquiry1.jpg','../3websites/rates1.jpg','../ 3websites/photos1.jpg');
initLightbox();
to this:
window.onload = function(){ // use this instead of <body onload …>
MM_preloadImages('../3websites/home4.jpg','../3web sites/amenities1.jpg','../3websites/inquiry1.jpg','../3websites/rates1.jpg','../ 3websites/photos1.jpg');
//initLightbox();
to see if that works. I think so. Turns out the initLightbox() function call that we activated by fixing the code before is no longer needed by the lightbox2 script as of v2.04! I see that it still tells you to put that function call in the body tag, but i think that is wrong (which is very weird to say, can I really be right???). If you look at the example page online you'll see that he uses this body tag:
<body>
and there are no onload's anywhere.
Let me know.
E. Michael Brandt
www.divahtml.com
www.divahtml.com/products/scripts_dreamweaver_extensions.php
Standards-compliant scripts and Dreamweaver Extensions
www.valleywebdesigns.com/vwd_Vdw.asp
JustSo PictureWindow
JustSo PhotoAlbum, et alia -
Image gallery issues...
This image gallery uses the HTTPService control to populate an array which is then used to populate thumbnails and a full image however it does not display properly on the first load. Thumbnails do show up upon a refresh but are not very consistant. I could really use some suggestions on how to make this gallery more stable and support all browsers.
Here is the link to the site
http://www.michael-willett.com/test/newwork.html
and the source
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="top"
backgroundColor="black" viewSourceURL="srcview/index.html"
preinitialize="preInit()"
backgroundAlpha="0"
color="white" >
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[Bindable]private var xmlListCol:XMLListCollection = new XMLListCollection;
[Bindable]private var imageArray:Array = new Array;
private function preInit():void {
xmlService.send();
private function xmlHandler(event:ResultEvent):void {
var xmlList:XMLList = event.result.image;
xmlListCol.source = xmlList;
for each (var image:XML in xmlListCol){
var myOBJ:Object = new Object;
myOBJ.label = image.picDescription.text();
myOBJ.thumbnailImage = image.url.text();
myOBJ.fullImage = image.big_url.text();
imageArray.push(myOBJ);
private function complete():void {
private function xmlLoadFault(event:FaultEvent):void {
Alert.show("Could not load XML file");
]]>
</mx:Script>
<mx:HTTPService id="xmlService"
url="data/newwork.xml"
resultFormat="e4x"
result="xmlHandler(event)"
fault="xmlLoadFault(event)"
showBusyCursor="true" />
<mx:Panel title="{horizontalList.selectedItem.label}"
height="100%"
horizontalAlign="center"
backgroundColor="#CCCCCC"
backgroundAlpha="0"
borderColor="#CCCCCC" >
<mx:Image id="img"
source="{horizontalList.selectedItem.fullImage}"
maintainAspectRatio="true"
horizontalAlign="center"
verticalAlign="middle"
width="{horizontalList.width}"
height="100%"
/>
<mx:ControlBar horizontalAlign="center">
<mx:HorizontalList id="horizontalList"
labelField="label"
iconField="thumbnailImage"
dataProvider="{imageArray}"
itemRenderer="CustomItemRenderer"
columnCount="5"
columnWidth="125"
rowCount="1"
rowHeight="125"
selectedIndex="0"
horizontalScrollPolicy="on"
backgroundAlpha="0" />
</mx:ControlBar>
</mx:Panel>
</mx:Application>I updated the source following your suggestion and it does seam to be working better. Is there any other things I could change to make it load more smoothly?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="top"
backgroundColor="black" viewSourceURL="srcview/index.html"
preinitialize="preInit()"
backgroundAlpha="0"
color="white" >
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[Bindable]private var xmlListCol:XMLListCollection = new XMLListCollection();
private function preInit():void {
xmlService.send();
private function xmlHandler(event:ResultEvent):void {
var xmlList:XMLList = event.result.image;
xmlListCol.source = xmlList;
private function xmlLoadFault(event:FaultEvent):void {
Alert.show("Could not load XML file");
]]>
</mx:Script>
<mx:HTTPService id="xmlService"
url="data/newwork.xml"
resultFormat="e4x"
result="xmlHandler(event)"
fault="xmlLoadFault(event)"
showBusyCursor="true" />
<mx:Panel title="{horizontalList.selectedItem.picDescription.text()}"
height="100%"
horizontalAlign="center"
backgroundColor="#CCCCCC"
backgroundAlpha="0"
borderColor="#CCCCCC" >
<mx:Image id="img"
source="{horizontalList.selectedItem.big_url.text()}"
maintainAspectRatio="true"
horizontalAlign="center"
verticalAlign="middle"
width="{horizontalList.width}"
height="100%"
/>
<mx:ControlBar horizontalAlign="center">
<mx:HorizontalList id="horizontalList"
labelField="label"
iconField="thumbnailImage"
dataProvider="{xmlListCol}"
itemRenderer="CustomItemRenderer"
columnCount="5"
columnWidth="125"
rowCount="1"
rowHeight="125"
selectedIndex="0"
horizontalScrollPolicy="on"
backgroundAlpha="0" />
</mx:ControlBar>
</mx:Panel>
</mx:Application> -
Hello All!
I am creating a dynamic image gallery, but when my external
images load in the empty movie clip, all the images are loading in
the same size/dimension. Does anyone know how I can command the MC
to load the images in different sizes, another words - to load them
according to its own size?
here's the AS
onClipEvent (load)
function imageMove()
var _loc1 = this;
for (i = 1; i <= num_of_image; i++)
mc = _loc1["image" + i];
if (i < hit)
tempx = small * (i - 1) + 30;
temps = small - 5;
mc.useHandCursor = true;
else if (i > hit)
tempx = big + small * (i - 2) + 30;
temps = small - 5;
mc.useHandCursor = true;
else
tempx = small * (i - 1) + 150; //distance of how far out the
displayed image jumps.
temps = big - 5; //distance between the displayed image and
thumbnails.
mc.swapDepths(1000);
display = txt
mc.useHandCursor = false;
} // end else if
mc._x = mc._x + (tempx - mc._x) / 3; //number of pixals on
x-axis the displayed image moves over to right side before growing
big.
mc._width = mc._width + (temps - mc._width) / 3; //number of
pixals on x-axis the displayed image moves over to left side before
growing big.
mc._height = mc._width * 4 / 3;
if (Math.abs(mc._width - temps) <= 1)
title._x = hit < 5 ? (_loc1["image" + hit]._x + big / 2) :
(_loc1["image" + hit]._x - big / 2 - 100);
title._y = 100;
} // end if
} // end of for
} // End of the function
function loopHye()
if (hit != num_of_image)
++_global.hit;
else
_global.hit = 1;
} // end else if
} // End of the function
getURL("FSCommand:allowscale", false);
big = 300;
//Large image width (400 works best for my portfolio site)
small = 60;//Small image width (40 works well for my
portfolio site)
num_of_image = 8;//Total number of images
timeGap = none;//Speed (speed of gaptime when each image is
displayed automatically. "2000" is default of this original file.
larger the number the slower the image changes. (type in "none"
will stop automatic images from changing.
_global.hit = 0;//First displyed image number (type "0" to
stop images from growing out)
txt = [" ", "image1", "image2", "image3", "image4", "image5",
"image6", "image7", "image8"];//insert text of each images between
for (i = 1; i <= num_of_image; i++)
attachMovie("image", "image" + i, i);
loadMovie("image/" + i + ".jpg", this["image" +
i].tar);//image folder path
mc = this["image" + i];
mc._x = small * (i - 1) + 30;
mc._y = 200; //where on the axis should the displays be.
mc._width = small - 5;
mc._height = mc._width * 4 / 3;
this["image" + i].onRelease = function ()
clearInterval(interval);
_global.hit = this._name.substr(5);
interval = setInterval(loopHye, timeGap);
} // end of for
interval = setInterval(loopHye, timeGap);
onClipEvent (enterFrame)
imageMove();
check out the file
http://www.wendiland.com/Gallery122b.fla
this is what the current gallery looks like
http://www.wendiland.com/print2.html
I'd appreciated if someone replies with any sort of
suggestions! thanks in advance!!!
- W£NDIif you google with "dynamic image gallery", you'll find a lot
of
tutorials & examples including pre-programmed solutions
if you prefer to do it yourself, you need to deal with
dynamic sites. DW
help chapters Preparing to Build Dynamic Sites, Making Pages
Dynamic &
Developing Applications Rapidly can also help to understand
in fact you don't need a database, the images can be read
from the
folder they're stored. that way to update a gallery you only
need to
remove/replace/add images. one folder for each gallery
and the application development forum is best suited for your
question
BTW, some nice photos in your page
hth,
jdoe
uvi wrote:
> I'm trying to create a dynamic image gallery that is
updated from a database, i
> managed to create a simple mysql database
> using phpmy admin, so I could update my image gallery
more often, I saw
> something that I like but I have no idea how to create
it here is the example:
>
http://flight001.com/store/trip.htm?itemid=307&sid=201&page=2
> I didnt manage to create this with dynamic table from
within dreamweaver 8,
> maybe I just don't know how,
> this is the link to a gallery on my website:
>
http://www.yuvallavy.com/work/scenic/scenic.htm.
I need all the help I can get
> I'm using dreamweaver 8 on a Mac and using PHP/MySql
server model.
> -
Anyone have a good tutorial for an AS3-XML image gallery?
I'm a pretty good Flash developer, but I've never worked with XML in Flash. I'm looking for a good tutorial on creating an XML driven image gallery, but I have yet to really find anything. Does anyone out there have a good tutorial? Thanks!
JesseYour best bets for getting something more specific to your needs will either be to...
- search Google using terms like "AS3 XML gallery tutorial" and "AS3 XML slideshow tutorial"
- take one fairly complicated tutorial and learn how it works down to understanding each element of what is being done. Once you a proper level of understanding you should be able to reason out how to create one of your own with whatever different features you prefer -
Hi,
I use this smooth, nice (and simple) image gallery, and I am very happy with it. However sometimes some of the images stops when rolling in, and I have to press Fw again to jump to the next one. I can't figure out where the bug lies, as I mentioned it appears rarely but it blows up the whole thing.
Maybe somone could take a look at it:
Thanks!
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.utils.Timer;
import flash.events.TimerEvent;
var currentImg:uint = 0;
image_2.x=-1500;
var imgArrayFw:Array = new Array(image_2, image_1, image_3, image_4, image_5, image_6);
var imgArrayBw:Array = new Array(image_2, image_1, image_3, image_4, image_5, image_6);
buttonFw_btn.addEventListener(MouseEvent.CLICK, doNextTween);
function doNextTween(e:MouseEvent):void
imgArrayFw[currentImg].x = -imgArrayFw[currentImg].width;
var myTween:Tween = new Tween(imgArrayFw[currentImg], "x", Strong.easeInOut, imgArrayFw[currentImg].x,0, 2, true);
addChild(imgArrayFw[currentImg]);
addChild(buttonFw_btn);
addChild(buttonBw_btn);
currentImg = (currentImg+1)%imgArrayFw.length;
buttonBw_btn.addEventListener(MouseEvent.CLICK, doPrewTween);
function doPrewTween(e:MouseEvent):void
imgArrayBw[currentImg].x = imgArrayBw[currentImg].width;
var myTween:Tween = new Tween(imgArrayBw[currentImg], "x", Strong.easeInOut, imgArrayBw[currentImg].x,0, 2, true);
addChild(imgArrayBw[currentImg]);
addChild(buttonBw_btn);
addChild(buttonFw_btn);
currentImg = (currentImg+1)%imgArrayBw.length;I'd recommed never using the included Tweening classes and start using a good tweening engine like TweenLite/TweenMax from greensock.com. The Adobe ones are slow and problematic - one of the issues they have is tweens stopping like you described. It should be pretty simple to swap out to using tweenlite and once you do, you'll find the syntax much easier.
-
How can I create an image gallery with "next" buttons?
So I am almost done with my portfolio site (YES!)..now I just need the actual content (the images). My site is written in AS3.
I've watched many tutorials on how to create an image gallery (auto scrolling ones, scrolling ones that require mouse hover, etc etc), but those aren't what I am looking for.
I want a gallery that looks exactly like this one here:
http://jalbum.net/res/help/integrating-tutorial.html
I have a lot of work to display in my porfolio so there must be arrows at the end of the thumbnails so I can add more stuff. So I am just stumped on how to make the image gallery work with the ability to scroll for more photos with the click of the arrows.
Any ideas? Thank you.Watching tutorials and learning from them are two different things. If you have learned from them you should be able to use what you have learned to devise a gallery such as the one you link to. If you have learned from them and cannot use what you learned, then you probably need to find/learn more.
If you study the design you linked you should be able to reason out what elements you need to devise... it is not overly complicated.
For the large picture you could have a Loader into which you load whatever image is selected from the thumnails. To get a brief transition you could just set the alpha of the Loader to 0 when an image change is occuring and gradually fade it in after the image has loaded.
The greatest challenge you are likely to face is in getting the thumbnails to advance back and forth depending on which is selected. All of the thumbs would be placed in a container (movieclip or sprite) and that would be masked so that only a portion of them is visible.
All thumbs that are not selected have their alpha property set to some value less than 1. Selecting one calls for the file it associates with to be loaded into the Loader. If the choice happens to lie off screen, then you need to move the movieclip that contains all of the thumbs some set value in the right (+x) or left (-x) direction.
If you want the thumbnails to wrap infinitely then when one leave the thumbnails area for movement in a direction, you need to take that thumb and relocate it to the other end of the thumbs in the container. -
How do you build an image gallery in Flash CS3 actionscript3?
I am building my entire website in flash cs3, actionscript3
but I really need help building an image gallery. What I need is a
horizontal scroll bar that contains thumbs within it and then loads
the full size image right above the scroll bar. Anyone has any
suggestions for books, tutorials or even safe places to purchase
the fla that I can customize it?if you want help understanding as3 check:
http://www.senocular.com/flash/tutorials/as3withflashcs3/
if you want to purchase a custom fla that does exactly what
you want send me an email via my website. -
Image Gallery in a tabbed panel
This seems to be an intermittent issue for me (comes & goes). But, when placing an image gallery in a tabbed panel if I select multiple photos to add (at once) it will expand the tab out to 70 thousand or so pixels wide but, if I add photos 1 at a time it seems to work just fine.
( I am using the add images... folder to add images )This seems to be an intermittent issue for me (comes & goes). But, when placing an image gallery in a tabbed panel if I select multiple photos to add (at once) it will expand the tab out to 70 thousand or so pixels wide but, if I add photos 1 at a time it seems to work just fine.
( I am using the add images... folder to add images ) -
Urgent Help with Image Gallery
Hi,
I really need help with an image gallery i have created. Cannot think of a resolution
So....I have a dynamic image gallery that pulls the pics into a movie clip and adds them to the container (slider)
The issue i am having is that when i click on this i am essentially clicking on all the items collectively and i would like to be able to click on each image seperately...
Please see code below
var xml:XML;
var images:Array = new Array();
var totalImages:Number;
var nbDisplayed:Number = 1;
var imagesLoaded:int = 0;
var slideTo:Number = 0;
var imageWidth = 150;
var titles:Array = new Array();
var container_mc:MovieClip = new MovieClip();
slider_mc.addChild(container_mc);
container_mc.mask = slider_mc.mask_mc;
function loadXML(file:String):void{
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest(file));
xmlLoader.addEventListener(Event.COMPLETE, parseXML);
function parseXML(e:Event):void{
xml = new XML(e.target.data);
totalImages = xml.children().length();
loadImages();
function loadImages():void{
for(var i:int = 0; i<totalImages; i++){
var loader:Loader = new Loader();
loader.load(new URLRequest("images/"+String(xml.children()[i].@brand)));
images.push(loader);
// loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
function onComplete(e:Event):void{
imagesLoaded++;
if(imagesLoaded == totalImages){
createImages();
function createImages():void{
for(var i:int = 0; i < images.length; i++){
var bm:Bitmap = new Bitmap();
bm = Bitmap(images[i].content);
bm.smoothing = true;
bm.x = i*170;
container_mc.addChild(bm);
var caption:textfile=new textfile();
caption.x=i*170; // fix text positions (x,y) here
caption.y=96;
caption.tf.text=(xml.children()[i].@brandname)
container_mc.addChild(caption);yes, sorry i do wish to click on individual images but dont know how to code that
as i mentioned i have 6 images that load into an array and then into a container and i think that maybe the problem is that i have the listener on the container so when i click on any image it gives the same results.
what i would like is have code thats says
if i click on image 1 then do this
if i click on image 2 then do something different
etc
hope that makes sense
thanks for you help! -
Image gallery in webcenter using content presenter template
Hi,
I created a content presenter template for image gallery in webcenter.
The images from UCM are not displayed without log in to the webcenter application.
I am getting a error like
" Error calling UCM server associated with repository UCM. The service GET_FILE was called with user anonymous at time 3/18/15 11:12 AM, and returned statuscode -1.
oracle.stellent.ridc.protocol.ServiceException: Unable to download 'HSCSRV154.ALLE006130'. Access denied by records manager "
Once i log in the images are displayed.
What is the problem here?please help.
I am using the latest webcenter extension in jdev 11.1.1.7
Thanks,
chandrasekar MHi Vinod,
I tried using af:image like below and its the same issue.I have read in most of the blogs that since this is in the content presenter template, the image has to be displayed using output text with escape set to false.
<af:image source="#{node.propertyMap['REGDEF:Image'].asTextHtml}" id="image5"/>
I am not using <img> anywhere, its just that on the webpage when the image doesnt appear, I tried to see the source of the image using Firebug and it shows following:
<img src="${wcmUrl('rendition','xyz/web')} " alt = "Logo">
Edited by: Swathi Patnam on Jul 13, 2012 6:00 PM -
First Issue: I've dynamically created the image gallery, on
rollover or mouseover i'm using the zoom in effect, on rollout i'm
using the zoom out effect (that will return to the original size).
onrollover
zm = new Zoom(timg);
zm.zoomHeightFrom = 1.2;
zm.zoomWidthFrom = 1.2;
zm.zoomHeightTo = 1;
zm.zoomWidthTo = 1;
zm.end();
zm.play();
It is working fine when the mouse is moved slowly (after
playing the full zoom), if i move rapidly (if i rollout before the
play effect finishes), the image's position will be changed. Please
give me a solution for this.
Second issue: I'm also trying to mask the image. all the
thumbnails will be inside a canvas. How to mask the image with the
sprite and use the zoom effect.
Thanks in advance.use google to search for "flash tsunami tutorial". specify your actionscript version if needed.
-
Image Gallery with cfdirectory with no DB
Hi
Im trying to get an image Gallery going with cfdirectory with
no Database amd pagination through Cfdirectory
Im current using cfdirectory to create a query and
cfx_openimage to create thumbnails.
the issue I have and where Ive been stuck is when a user
clicks on a thumbnail, how do i get pagination going the next page
between the photos
here is my code
<cfdirectory
directory="#GetDirectoryFromPath(GetTemplatePath())#/#url.username#/images/#url.date#/"
name="dirQuery"
filter="*.jpg. *.jpeg"
sort="name ASC, size DESC">
<!--- Get all directory information in a query of
queries.--->
<cfquery dbtype="query" name="GetBoth">
SELECT * FROM dirQuery
</cfquery>
<cfoutput>
<cfloop query="GetBoth">
<a
href="/outandabout/#url.username#/images/#url.date#/#getboth.name#"><img
src="/outandabout/#url.username#/images/#url.date#/thumbs/_#getboth.name#"></a><br>
</cfloop>
</cfoutput>
Thanking you advanceYour code links directly to the image not a page displaying
the image. If
you are wanting pagination you will need to use page to
display the full
size image and the paging links.
Bryan Ashcraft (remove brain to reply)
Web Application Developer
Wright Medical Technology, Inc.
Macromedia Certified Dreamweaver Developer
Adobe Community Expert (DW) ::
http://www.adobe.com/communities/experts/
"stevegio" <[email protected]> wrote in
message
news:f58unu$j5$[email protected]..
> Hi
> Im trying to get an image Gallery going with cfdirectory
with no Database
> amd
> pagination through Cfdirectory
>
> Im current using cfdirectory to create a query and
cfx_openimage to
> create
> thumbnails.
>
> the issue I have and where Ive been stuck is when a user
clicks on a
> thumbnail, how do i get pagination going the next page
between the photos
>
> here is my code
>
>
> <cfdirectory
>
>
directory="#GetDirectoryFromPath(GetTemplatePath())#/#url.username#/images/#url.
> date#/"
> name="dirQuery"
> filter="*.jpg. *.jpeg"
> sort="name ASC, size DESC">
>
> <!--- Get all directory information in a query of
queries.--->
> <cfquery dbtype="query" name="GetBoth">
> SELECT * FROM dirQuery
> </cfquery>
>
> <cfoutput>
>
> <cfloop query="GetBoth">
>
> <a
>
href="/outandabout/#url.username#/images/#url.date#/#getboth.name#"><img
>
src="/outandabout/#url.username#/images/#url.date#/thumbs/_#getboth.name#"></a><
> br>
> </cfloop>
>
> </cfoutput>
>
>
> Thanking you advance
>
>
>
> -
I need to create an image gallery
I'm looking for a tutorial which explains me how to create a simple AS3 image gallery driven by an XML file.
The gallery I need is really simple:
- an horizontal bar placed on the bottom containing the thumbnails which scrolls left and right according to the mouse pointer
- clicking on a thumbnail the full image must be shown above the thumbnails' bar
- buttons for prev and next image
- clicking on the button which opens the gallery I must be able to pass a variable to make the gallery load the proper xml file (I've got 6 different categories to show)
That's all I need.
Do you know where I could find a tutorial?I'm trying to do it by myself.
I've decided to give to the xml file this structure
<imgList>
<img thumb='img_001_thumb.jpg' full='img_001_full.jpg' desc='image 001' />
<img thumb='img_002_thumb.jpg' full='img_002_full.jpg' desc='image 002' />
</imgList>
I've found some tutorials where they read the attributes in this way
xml.img@thumb
xml.img@full
xml.img@desc
where xml is an xml variable containing the xml file's data.
I think that syntax is for AS2, while I'm using AS3 and it say to me that a semicolon is expected before atsign.
How can I read the attributes thumb, full and desc in AS3?
Maybe you are looking for
-
Log and capture with Sony A1U camera, Sony HD700 HDV deck
Hello, I am still having problems capturing HDV from a Sony GV HD700. It sees the deck, can capture some, but then crashes. Anybody have experience with certain decks and cameras not able to capture with Final cut 7? I am stumped. Settings are HDV...
-
ITunes nearing 1GB of RAM consumption! Any ideas to lessen the load?
Hello - My name is Erick and I'm an ACMT/Network Engineer. Apple-certified, but not Apple-employed. I have encountered an issue in iTunes which was not resolved with the latest 10.6.3 update and was hoping for any community suggestions or advice. Fir
-
Hi, I recently had trouble with my macbook pro as it use to shut down un expectedly at 40 percent battery, after a while it wouldnt boot up so i rebooted in revovery mode. I ran disk utility and tried to repair my internal HD and it said "can not rep
-
I was trying to update my phone now is asking me to restore my phone, can I have some help please?
-
Unable to connect to the internet and more
First I have a Linksys WRT5G Wireless Router I also have a Aol Broadband DSL Connection(They use verizon lines) I recently had to reinstall a fresh copy of windows and this is where my problems began. I am now no longer able to simply turn on my comp