Simple Photo Album "previous" button issue

Hello!  I have created a slide show using the Simple Photo Album template in Flash.  All works fine except for when I click the "previous" button to view the previous slide.  When I click it, the movie skips back 3 slides instead of just one.  How can I fix this?
Thanks!
Jessie

try:
jwood_its wrote:
Oops, here it is!
// USER CONFIG SETTINGS =====
var autoStart:Boolean = false; //true, false
var secondsDelay:Number = 2; // 1-60
// END USER CONFIG SETTINGS
// EVENTS =====
playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
function fl_togglePlayPause(evt:MouseEvent):void
if(playPauseToggle_mc.currentLabel == "play")
  fl_startSlideShow();
  playPauseToggle_mc.gotoAndStop("pause");
else if(playPauseToggle_mc.currentLabel == "pause")
  fl_pauseSlideShow();
  playPauseToggle_mc.gotoAndStop("play");
next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
function fl_nextButtonClick(evt:MouseEvent):void
fl_nextSlide();
function fl_prevButtonClick(evt:MouseEvent):void
fl_prevSlide();
var currentImageID:Number;
var slideshowTimer:Timer;
var appInit:Boolean;
function fl_slideShowNext(evt:TimerEvent):void
fl_nextSlide();
// END EVENTS
// FUNCTIONS AND LOGIC =====
function fl_pauseSlideShow():void
slideshowTimer.stop();
function fl_startSlideShow():void
slideshowTimer.start();
function fl_nextSlide():void
currentImageID++;
if(currentImageID >= totalFrames)
  currentImageID = 0;
gotoAndStop(currentImageID+1);
function fl_prevSlide():void
currentImageID--;
if(currentImageID < 0)
  currentImageID = totalFrames+1;
gotoAndStop(currentImageID+1);
if(autoStart == true)
   fl_startSlideShow();
   playPauseToggle_mc.gotoAndStop("pause");
} else {
  gotoAndStop(1);
function initApp(){
currentImageID = 0;
slideshowTimer = new Timer((secondsDelay*1000), 0);
slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
if(appInit != true){
initApp();
appInit = true;
// END FUNCTIONS AND LOGIC

Similar Messages

  • Flash Prof. CS5 simple photo album/slideshow template

    I am trying to use the "simple photo album" template that comes with Flash Prof. CS5. I have it working except I want it to play by default. The actionscript that came with the template is below (in blue), but if I set var autoStart:Boolean = true; I get the following error and the controls do not work:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at nt_fla::MainTimeline/fl_startSlideShow()
    at nt_fla::MainTimeline/frame1()
    // USER CONFIG SETTINGS =====
    var autoStart:Boolean = false; //true, false
    var secondsDelay:Number = 2; // 1-60
    // END USER CONFIG SETTINGS
    // EVENTS =====
    playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
    function fl_togglePlayPause(evt:MouseEvent):void
    if(playPauseToggle_mc.currentLabel == "play")
      fl_startSlideShow();
      playPauseToggle_mc.gotoAndStop("pause");
    else if(playPauseToggle_mc.currentLabel == "pause")
      fl_pauseSlideShow();
      playPauseToggle_mc.gotoAndStop("play");
    next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
    prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
    function fl_nextButtonClick(evt:MouseEvent):void
    fl_nextSlide();
    function fl_prevButtonClick(evt:MouseEvent):void
    fl_prevSlide();
    var currentImageID:Number;
    var slideshowTimer:Timer;
    var appInit:Boolean;
    function fl_slideShowNext(evt:TimerEvent):void
    fl_nextSlide();
    // END EVENTS
    // FUNCTIONS AND LOGIC =====
    function fl_pauseSlideShow():void
    slideshowTimer.stop();
    function fl_startSlideShow():void
    slideshowTimer.start();
    function fl_nextSlide():void
    currentImageID++;
    if(currentImageID >= totalFrames)
      currentImageID = 0;
    gotoAndStop(currentImageID+1);
    function fl_prevSlide():void
    currentImageID--;
    if(currentImageID < 0)
      currentImageID = totalFrames+1;
    gotoAndStop(currentImageID-1);
    if(autoStart == true)
       fl_startSlideShow();
       playPauseToggle_mc.gotoAndStop("pause");
    } else {
      gotoAndStop(1);
    function initApp(){
    currentImageID = 0;
    slideshowTimer = new Timer((secondsDelay*1000), 0);
    slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
    if(appInit != true){
    initApp();
    appInit = true;
    // END FUNCTIONS AND LOGIC
    Does anyone have any idea how to fix this so that the slideshow starts automatically and stops when the pause button is clicked?
    Thanks,
    Lisa

    I finally got it to work, but had to edit the action script because it seemed to have a logic error. Here is the action script I finally used; maybe this will help you:
    // USER CONFIG SETTINGS =====
    var autoStart:Boolean = false; //true, false
    var secondsDelay:Number = 3; // 1-60
    // END USER CONFIG SETTINGS
    // EVENTS =====
    playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
    function fl_togglePlayPause(evt:MouseEvent):void
    if(playPauseToggle_mc.currentLabel == "play")
      fl_startSlideShow();
      playPauseToggle_mc.gotoAndStop("pause");
    else if(playPauseToggle_mc.currentLabel == "pause")
      fl_pauseSlideShow();
      playPauseToggle_mc.gotoAndStop("play");
    next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
    prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
    function fl_nextButtonClick(evt:MouseEvent):void
    if(playPauseToggle_mc.currentLabel == "pause")
      fl_pauseSlideShow();
      playPauseToggle_mc.gotoAndStop("play");
    fl_nextSlide();
    function fl_prevButtonClick(evt:MouseEvent):void
      fl_pauseSlideShow();
      playPauseToggle_mc.gotoAndStop("play");
    fl_prevSlide();
    var currentImageID:Number;
    var slideshowTimer:Timer;
    var appInit:Boolean;
    function fl_slideShowNext(evt:TimerEvent):void
    fl_nextSlide();
    // END EVENTS
    // FUNCTIONS AND LOGIC =====
    function fl_pauseSlideShow():void
    slideshowTimer.stop();
    function fl_startSlideShow():void
    slideshowTimer.start();
    function fl_nextSlide():void
    currentImageID++;
    if(currentImageID > totalFrames)
      currentImageID = 1;
    gotoAndStop(currentImageID);
    function fl_prevSlide():void
    currentImageID--;
    if(currentImageID <= 0)
      currentImageID = totalFrames;
    gotoAndStop(currentImageID);
    if(autoStart == true)
       fl_startSlideShow();
       playPauseToggle_mc.gotoAndStop("pause");
    } else {
      gotoAndStop(1);
    function initApp(){
    currentImageID = 0;
    slideshowTimer = new Timer((secondsDelay*1000), 0);
    slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
    slideshowTimer.start();
        playPauseToggle_mc.gotoAndStop("pause");
    if(appInit != true){
    initApp();
    appInit = true;
    // END FUNCTIONS AND LOGIC

  • Next and previous button issue with Prettyphoto in filtered gallery

    Hi there,
    I'm stryggeling with a next and previous button issue with Prettyphoto in filtered gallery.
    Like to have it like this: http://demohtml.templatesquare.com/think/portfolio.html#!prettyPhoto
    (next and previous buttun are there as well social connection)
    My problem is this: http://finca-sonrisa.bitl.nl/sonrisa_gallery.html
    (social connection is there but no next and previous buttons??)
    Anybody who has a solution fot this. Have tried to change the CSS, Javascript and has followed the instructions from Prettyphoto but without any succes.
    Your help we muchly appriciated,
    Best Regards,
    Rolf

    bump PLEASE HELP

  • How to delete photo albums previously synchronized with iCloud

    I previously set my iPhone to enable photo streaming. I also set iTunes to backup to iCloud. After a while, I decided to revert to back up and sychronize with my PC. I also disabled photo streaming.  Prior to this change, my photo albums got uploaded to iCloud including a particular album which I subsequently deleted from my PC photo folders. When I tried to synchronize through iTunes, the album will not get removed in my iPhone, even if it is no longer in my PC photo folder. I assumed it got stuck in the iCloud but I have already disabled photo streaming and this was supposed to delete all photos in iCloud.
    I tried all sorts of suggestions, but short of restoring, which I find such a ridiculous solution because it would delete all my data and all I wanted was to delete this one empty folder. Eventually I stumbled upon a simple yet effective one. Here's what I did:
    1.  Connected the iPhone to my PC which fired up iTunes (I set this as my default).
    2.  Clicked on my iPhone under Devices.
    3.  Under Summary, selected Backup to this Computer.  [This is to make sure I have a most recent backup of my iPhone files]
    4.  Clicked Sync button.
    5.  Clicked Photos tab (rightmost tab)
    6.  Unchecked Sync Photos From box.  [This will delete all photos in the iPhone]
    7.  Clicked Sync button again.
    8.  When sychronization finished, ejected the iPhone from iTunes by clicking on the eject icon to the right of your iPhone's name.
    9.  Went to Photos in the iPhone. Only Camera Roll and the empty Album appeared.  I clicked on Edit and a red (do not enter sign) icon appeared to the left of the empty Album name. Tapped that and proceeded to delete the album. No more albums would be displayed.  [Note: The red icon did not show up previously when there were other albums listed.]
    10.  Reconnected my iPhone to PC, starting up iTunes.
    11.  Went to Photos tab.
    12.  Checked Sync Photos From box again. [This will restore all your selected photos/albums to the iPhone]
    13.  Clicked Sync button again.
    14.  When synchronization finished, ejected the iPhone from iTunes.
    15.  Checked the Photos album.  The empty folder is no longer there!
    Hope this helps others with a similar issue.

    If these are albums that were synced from your computer via iTunes then you can only delete them by unselecting them on the Photos tab when your iPad is connected to your computer's iTunes and then syncing, they can't be deleted directly on the iPad.
    If these are albums that you have created directly on the iPad in the Photos app via the Edit button, then you can delete them by tapping the Edit button and then tapping the 'x' that appears on the top left corner of the album

  • Lightroom mobile performance and "previous" button issues

    I am considering subscribing to Lightroom mobile for iPad so I decided to give it a trial run with 2000+ photos sync-ed (iPad 3, Nikon D7000 raw files). The performance is awful!
    Browsing through the images is fairly decent. Flagging also does a good job and seems that export works fine, but that is as far as I would go in praising the app.
    Downloading from the cloud for offline use takes time (for sure my internet connection's bandwidth is not the problem) and the app does not sync files for offline use when the iPad locks. I had to change the iPad lock settings to "never" in order to be able to download the full set of images. The iPad went from 50% battery to 10% just to download the files. That long it took, with the brightness dimmed to the minimum.
    With all other apps closed on the iPad (and offline from CC), it takes 2 to 5 seconds for loading the adjustment values (not to render the image) when moving to a new image (all image info off: exposure settings and histogram).
    When using basic adjustments and crop I have found it very difficult to apply the same settings to the next image. Simply the Previous button is inactive. Browsing back and forth seems to activate this button at random times. But clicking on it and selecting "Everything from previous" does not bring any settings. Neither the basic adjustments, nor the crop settings. Although the image seems to be re-rendering.
    In this case above, once the "Previous" button is reactivated, clicking on it highlights the selection (e.g. "Everything from previous") but no settings are applied. The menu does not close. I can click on "everything from" or "basic tones from" and they get highlighted but nothing happens. The menu does not close. Extremely annoying.
    Same thing for the Reset menu. Sometimes it works sometimes not. I have managed (again at random times) to reset the image to the import settings, browse back and forward to other images, return to the image and then apply the settings from previous photo successfully. But only if I wait 2-3 seconds after the "Previous" menu pops-up.
    When I hit the Reset -> All menu and then Previous -> "Everything", the image seems to only receive distortion correction (applied on the desktop to all photos upon import). No other settings are applied (basic adjustments or crop).
    When connected to CC, performance degrades even more as it seems that the app is checking for updated settings to the file. It adds an additional 2-3 seconds per image...
    Is there a fix in the works for these annoyances? At the current stage of the app, I do not consider subscribing to Creative Cloud as the app is basically unusable for batch processing.
    It would be best if the app would be optimised for batch processing as at the moment it seems as poor as the Photos app on the iPad (with some versatility in terms of the settings that can be tweaked). Any target date for a future update? My trial expires in 20 days or so and I am not impressed for now.
    I am not bothered by the slow rendering of the images on my device (for sure the iPad Air would do a better job) but the user interface is extremely slow and unusable. I have managed to edit 135 photos in 2 weekend days (roughly 4 hours of use). Very disappointed.

    Hi,
    thank you for your feedback.
    Previous... will only be active if the two images (previous one) and the present have different adjustments.
    Some more answers inline:
    In this case above, once the "Previous" button is reactivated, clicking on it highlights the selection (e.g. "Everything from previous") but no settings are applied. The menu does not close. I can click on "everything from" or "basic tones from" and they get highlighted but nothing happens. The menu does not close. Extremely annoying.
    The Previous... menu will not close automatically once one of its options has been chosen. Btw. do the small thumbnails visually differ from another (Basic tones and Everything)?
    Same thing for the Reset menu. Sometimes it works sometimes not. I have managed (again at random times) to reset the image to the import settings, browse back and forward to other images, return to the image and then apply the settings from previous photo successfully. But only if I wait 2-3 seconds after the "Previous" menu pops-up.
    Reset to Import is only visible if you have done any changes to the image. When you mention that it sometimes doesn't work - is the problem that it's not enabled at all?
    When using basic adjustments and crop I have found it very difficult to apply the same settings to the next image. Simply the Previous button is inactive. Browsing back and forth seems to activate this button at random times. But clicking on it and selecting "Everything from previous" does not bring any settings. Neither the basic adjustments, nor the crop settings. Although the image seems to be re-rendering.
    It would be nice if you could give us some more info on this case. Since I have a problem reproducing this issue, could you please let us know if you have many applications in the background? How much free space do you have on your device?
    Does a restart of the device help (in some cases it can)?
    When I hit the Reset -> All menu and then Previous -> "Everything", the image seems to only receive distortion correction (applied on the desktop to all photos upon import). No other settings are applied (basic adjustments or crop).
    Are you doing Previous->Everything this on the same image that you reset?
    thanks,
    Ignacio

  • Photo album launch button next to slider

    On my iPad there is a button to launch photo album / camera roll, next to the slider. On my iPhone this button opens the camera - which I would find more useful on the iPad. Is there a way to make the iPads button open the camera?

    No, there is no such shortcut for the camera, like it is for the iPhone.
    You can suggest that here, if you want: Apple - iPad - Feedback

  • CS5 Advanced Photo Album Template Upload Issue

    I just created a new flash ap from the template Advanced Photo Album (File->new->Templates->Media Playback->Advanced Photo Album)
    I set everything up put my photos where they needed to be and coded the xml section of the action script.  I tested it and it runs perfectly on my system.  However as soon as I upload it to my server I get the flash app to load but no images appear.  Its as if it can't find the xml file however its hardcoded into the flash app.  How can I fix this?
    Help would be greatly appreciated
    Thanks
    Stjc
    Ps all images are in the same directory as the swf and index.html files just as they were on my local machine
    Link to non working app page
    Link to non working swf
    AS Code
    import fl.data.DataProvider;
    import fl.events.ListEvent;
    import fl.transitions.*;
    import fl.controls.*;
    // USER CONFIG SETTINGS =====
    var secondsDelay:Number = 4;
    var autoStart:Boolean = true;
    var transitionOn:Boolean = true; // true, false
    var transitionType:String = "Fade"; // Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, Zoom, Random
    var hardcodedXML:String="<photos><image title='Exterior 1'>010.jpg</image><image title='Exterior 2'>012.jpg</image><image title='Exterior 3'>013.jpg</image><image title='Exterior 4'>014.jpg</image><image title='Exterior 5'>015.jpg</image><image title='Exterior 6'>016.jpg</image><image title='Exterior 7'>017.jpg</image><image title='Exterior 8'>018.jpg</image><image title='Kitchen 1'>019.jpg</image><image title='Kitchen 2'>020.jpg</image><image title='Kitchen 3'>031.jpg</image><image title='Dining Room 1'>021.jpg</image><image title='Dining Room 2'>022.jpg</image><image title='Basement 1'>027.jpg</image><image title='Basement 2'>028.jpg</image><image title='Great Room 1'>032.jpg</image><image title='Great Room 2'>033.jpg</image><image title='Bed Rooms 1'>034.jpg</image><image title='Bed Rooms 2'>035.jpg</image><image title='Bed Rooms 3'>036.jpg</image><image title='Bed Rooms 4'>037.jpg</image><image title='Bed Rooms 5'>038.jpg</image><image title='Bed Rooms 6'>039.jpg</image><image title='Bed Rooms 7'>040.jpg</image><image title='Bed Rooms 8'>042.jpg</image><image title='Bed Rooms 9'>043.jpg</image><image title='Bed Rooms 10'>044.jpg</image><image title='Interior 1'>041.jpg</image><image title='Interior 2'>046.jpg</image></photos>";
    // END USER CONFIG SETTINGS
    // DECLARE VARIABLES AND OBJECTS =====
    var imageList:XML = new XML();
    var currentImageID:Number = 0;
    var imageDP:DataProvider = new DataProvider();
    var slideshowTimer:Timer = new Timer((secondsDelay*1000), 0);
    // END DECLARATIONS
    // CODE FOR HARDCODED XML =====
    imageList = XML(hardcodedXML);
    fl_parseImageXML(imageList);
    // END CODE FOR HARDCODED XML
    // EVENTS =====
    imageTiles.addEventListener(ListEvent.ITEM_CLICK, fl_tileClickHandler);
    function fl_tileClickHandler(evt:ListEvent):void
    imageHolder.imageLoader.source = evt.item.source;
    currentImageID = evt.item.imgID;
    title_txt.text = imageDP.getItemAt(currentImageID).label;
    playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
    function fl_togglePlayPause(evt:MouseEvent):void
    if(playPauseToggle_mc.currentLabel == "play")
      fl_startSlideShow();
      playPauseToggle_mc.gotoAndStop("pause");
    else if(playPauseToggle_mc.currentLabel == "pause")
      fl_pauseSlideShow();
      playPauseToggle_mc.gotoAndStop("play");
    next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
    prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
    function fl_nextButtonClick(evt:MouseEvent):void
    fl_nextSlide();
    function fl_prevButtonClick(evt:MouseEvent):void
    fl_prevSlide();
    slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
    function fl_slideShowNext(evt:TimerEvent):void
    fl_nextSlide();
    // END EVENTS
    // FUNCTIONS AND LOGIC =====
    function fl_parseImageXML(imageXML:XML):void
    var imagesNodes:XMLList = imageXML.children();
    for(var i in imagesNodes)
      var imgURL:String = imagesNodes[i];
      var imgTitle:String = imagesNodes[i].attribute("title");
      imageDP.addItem({label:imgTitle, source:imgURL, imgID:i});
    imageTiles.dataProvider = imageDP;
    imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
    title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_startSlideShow():void
    slideshowTimer.start();
    function fl_pauseSlideShow():void
    slideshowTimer.stop();
    function fl_nextSlide():void
    currentImageID++;
    if(currentImageID >= imageDP.length)
      currentImageID = 0;
    if(transitionOn == true)
      fl_doTransition();
    imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
    title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_prevSlide():void
    currentImageID--;
    if(currentImageID < 0)
      currentImageID = imageDP.length-1;
    if(transitionOn == true)
      fl_doTransition();
    imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
    title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_doTransition():void
    if(transitionType == "Blinds")
      TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Fade")
      TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Fly")
      TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Iris")
      TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Photo")
      TransitionManager.start(imageHolder, {type:Photo, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "PixelDissolve")
      TransitionManager.start(imageHolder, {type:PixelDissolve, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Rotate")
      TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Squeeze")
      TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Wipe")
      TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Zoom")
      TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
    } else if (transitionType == "Random")
      var randomNumber:Number = Math.round(Math.random()*9) + 1;
      switch (randomNumber) {
       case 1:
        TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
        break;
       case 2:
        TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
        break;
       case 3:
        TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
        break;
       case 4:
        TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
        break;
       case 5:
        TransitionManager.start(imageHolder, {type:Photo, direction:Transition.IN, duration:0.25});
        break;
       case 6:
        TransitionManager.start(imageHolder, {type:PixelDissolve, direction:Transition.IN, duration:0.25});
        break;
       case 7:
        TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
        break;
       case 8:
        TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
        break;
       case 9:
        TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
        break;
       case 10:
        TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
        break;
    } else
      trace("error - transitionType not recognized");
    if(autoStart == true)
       fl_startSlideShow();
       playPauseToggle_mc.gotoAndStop("pause");
    // END FUNCTIONS AND LOGIC

    I am havign the same problem with mine and i have tried all the suggestion on this thread, nothing is working. Still doesnt show images if I send the .swf file to a co worker. Anyone have any other ideas
    my code:
    import fl.data.DataProvider;
    import fl.events.ListEvent;
    import fl.transitions.*;
    import fl.controls.*;
    // USER CONFIG SETTINGS =====
    var secondsDelay:Number = 2;
    var autoStart:Boolean = true;
    var transitionOn:Boolean = true; // true, false
    var transitionType:String = "Squeeze"; // Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, Zoom, Random
    var hardcodedXML:String = "<photos><image title='Quality Coverage'>images/image1.JPG</image><image title='Money Savings'>images/image2.JPG</image><image title='Home Insurance'>images/image3.JPG</image><image title='Fred Loya has Got You Covered'>images/image4.JPG</image></photos>";
    // END USER CONFIG SETTINGS
    // DECLARE VARIABLES AND OBJECTS =====
    var imageList:XML = new XML();
    var currentImageID:Number = 0;
    var imageDP:DataProvider = new DataProvider();
    var slideshowTimer:Timer = new Timer((secondsDelay*1005), 0);
    // END DECLARATIONS
    // CODE FOR HARDCODED XML =====
    imageList = XML(hardcodedXML);
    fl_parseImageXML(imageList);
    // END CODE FOR HARDCODED XML
    // EVENTS =====
    imageTiles.addEventListener(ListEvent.ITEM_CLICK, fl_tileClickHandler);
    function fl_tileClickHandler(evt:ListEvent):void
        imageHolder.imageLoader.source = evt.item.source;
        currentImageID = evt.item.imgID;
    playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
    function fl_togglePlayPause(evt:MouseEvent):void
        if(playPauseToggle_mc.currentLabel == "play")
            fl_startSlideShow();
            playPauseToggle_mc.gotoAndStop("pause");
        else if(playPauseToggle_mc.currentLabel == "pause")
            fl_pauseSlideShow();
            playPauseToggle_mc.gotoAndStop("play");
    next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
    prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
    function fl_nextButtonClick(evt:MouseEvent):void
        fl_nextSlide();
    function fl_prevButtonClick(evt:MouseEvent):void
        fl_prevSlide();
    slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
    function fl_slideShowNext(evt:TimerEvent):void
        fl_nextSlide();
    // END EVENTS
    // FUNCTIONS AND LOGIC =====
    function fl_parseImageXML(imageXML:XML):void
        var imagesNodes:XMLList = imageXML.children();
        for(var i in imagesNodes)
            var imgURL:String = imagesNodes[i];
            var imgTitle:String = imagesNodes[i].attribute("title");
            imageDP.addItem({label:imgTitle, source:imgURL, imgID:i});
        imageTiles.dataProvider = imageDP;
        imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
        title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_startSlideShow():void
        slideshowTimer.start();
    function fl_pauseSlideShow():void
        slideshowTimer.stop();
    function fl_nextSlide():void
        currentImageID++;
        if(currentImageID >= imageDP.length)
            currentImageID = 0;
        if(transitionOn == true)
            fl_doTransition();
        imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
        title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_prevSlide():void
        currentImageID--;
        if(currentImageID < 0)
            currentImageID = imageDP.length-1;
        if(transitionOn == true)
            fl_doTransition();
        imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
        title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_doTransition():void
        if(transitionType == "Blinds")
            TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Fade")
            TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Fly")
            TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Iris")
            TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Photo")
            TransitionManager.start(imageHolder, {type:Photo, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "PixelDissolve")
            TransitionManager.start(imageHolder, {type:PixelDissolve, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Rotate")
            TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Squeeze")
            TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Wipe")
            TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Zoom")
            TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Random")
            var randomNumber:Number = Math.round(Math.random()*9) + 1;
            switch (randomNumber) {
                case 1:
                    TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
                    break;
                case 2:
                    TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
                    break;
                case 3:
                    TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
                    break;
                case 4:
                    TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
                    break;
                case 5:
                    TransitionManager.start(imageHolder, {type:Photo, direction:Transition.IN, duration:0.25});
                    break;
                case 6:
                    TransitionManager.start(imageHolder, {type:PixelDissolve, direction:Transition.IN, duration:0.25});
                    break;
                case 7:
                    TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
                    break;
                case 8:
                    TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
                    break;
                case 9:
                    TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
                    break;
                case 10:
                    TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
                    break;
        } else
            trace("error - transitionType not recognized");
    if(autoStart == true)
       fl_startSlideShow();
       playPauseToggle_mc.gotoAndStop("pause");
    // END FUNCTIONS AND LOGIC
    /* Click to Load/Unload SWF or Image from a URL.
    Clicking on the symbol instance loads and displays the specified SWF or image URL. Clicking on the symbol instance a second time unloads the SWF or image.
    Instructions:
    1. Replace "http://www.helpexamples.com/flash/images/image1.jpg" below with the desired URL address of the SWF or image. Keep the quotation marks ("").
    2. Files from internet domains separate from the domain where the calling SWF resides cannot be loaded without special configuration.
    imageHolder.addEventListener(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF);
    import fl.display.ProLoader;
    var fl_ProLoader:ProLoader;
    //This variable keeps track of whether you want to load or unload the SWF
    var fl_ToLoad:Boolean = true;
    function fl_ClickToLoadUnloadSWF(event:MouseEvent):void
        if(fl_ToLoad)
            fl_ProLoader = new ProLoader();
            fl_ProLoader.load(new URLRequest("http://www.helpexamples.com/flash/images/image1.jpg"));
            addChild(fl_ProLoader);
        else
            fl_ProLoader.unload();
            removeChild(fl_ProLoader);
            fl_ProLoader = null;
        // Toggle whether you want to load or unload the SWF
        fl_ToLoad = !fl_ToLoad;
    /* Click to Load/Unload SWF or Image from a URL.
    Clicking on the symbol instance loads and displays the specified SWF or image URL. Clicking on the symbol instance a second time unloads the SWF or image.
    Instructions:
    1. Replace "http://www.helpexamples.com/flash/images/image1.jpg" below with the desired URL address of the SWF or image. Keep the quotation marks ("").
    2. Files from internet domains separate from the domain where the calling SWF resides cannot be loaded without special configuration.
    imageHolder.addEventListener(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF_2);
    import fl.display.ProLoader;
    var fl_ProLoader_2:ProLoader;
    //This variable keeps track of whether you want to load or unload the SWF
    var fl_ToLoad_2:Boolean = true;
    function fl_ClickToLoadUnloadSWF_2(event:MouseEvent):void
        if(fl_ToLoad_2)
            fl_ProLoader_2 = new ProLoader();
            fl_ProLoader_2.load(new URLRequest("http://www.helpexamples.com/flash/images/image1.jpg"));
            addChild(fl_ProLoader_2);
        else
            fl_ProLoader_2.unload();
            removeChild(fl_ProLoader_2);
            fl_ProLoader_2 = null;
        // Toggle whether you want to load or unload the SWF
        fl_ToLoad_2 = !fl_ToLoad_2;

  • Creating a simple photo gallery.. buttons not working.

    Im trying to create a photo gallery that when you click on the thumbnail image you get a blown up image on the screen. The user will then hit the little "x" button to return to the thumbnail page.
    I have attached pictures of what they look like. My issues is that when the user clicks on the little "x" nothing happens on images 2-5. It works fine on image 1. I have fiddled with the code, creating different buttons, using the same button both with different instance names and with different. Still does not work. I do not get any error messages during test either. Im at a loss. Please help!
    Here is the code as it stands: (ActionScript 3.0 using Flash CC)
    function go_back1(event:MouseEvent):void {
      gotoAndStop(1)
    close1.addEventListener(MouseEvent.CLICK, go_back1);
    close2.addEventListener(MouseEvent.CLICK, go_back1);
    close3.addEventListener(MouseEvent.CLICK, go_back1);
    close4.addEventListener(MouseEvent.CLICK, go_back1);
    close5.addEventListener(MouseEvent.CLICK, go_back1);
    close6.addEventListener(MouseEvent.CLICK, go_back1);

    I think the problem lies in skipping the frame where the button gets the listener assigned to it.  If you are at frame 1 and then jump frame 5 or beyond you skip the code that would be assigned in frame 4.
    Try the following.  Have the close button start from frame 1, but in frame 1 make it invisible.  Also move the listener code and event handler function there as well
              close1.visible = false;
              function go_back1(event:MouseEvent):void {
                gotoAndStop(1)
              close1.addEventListener(MouseEvent.CLICK, go_back1);
    Then in whatever function(s) you have for going to one of the large picture frames include the line to make close1 visible.
            close1.visible = true;

  • Photo album: Play button not functioning on slide show

    In order to learn this album construction, I've begun by just copying the files from the demo (http://labs.adobe.com/technologies/spry/demos/gallery_pe/dynamic/index.html), renaming the paths and throwing in some new images. BUT, the Play button doesn't work.  It doesn't work on the demo either.
    Is there a js function call that I'm missing? If so, where would the call and function be placed?
    Here's my sample: http://www.lumina-media.com/gallerytest/wjgallery.html
    All js, xml and css files are the same as on the demo (with exception of paths to images and thumbs).
    Thanks in advance for any help.
    Nick

    The play button works fine on your app, as well on the Spry demo.

  • Photo album & sub-folder issue

    Good evening. Just upgraded to iLife 09. All went well except iWeb. Post-upgrade I see all my image folders, organized by country (for example, India) with sub-folders branching off for each city visited.
    Problem: the India folder is missing the sub-folder content. The sub-folders have all their content but the "main" folder to click for sub-folder images simply displays "drag albums here."
    Tried dragging the subs to the main, no-go. The "drag albums here" window does a pretty cool evasive dance when I attempt this. Simply dropping the folder gives no result.
    Any ideas? I can recreate but that's a hours-long job.

    try:
    jwood_its wrote:
    Oops, here it is!
    // USER CONFIG SETTINGS =====
    var autoStart:Boolean = false; //true, false
    var secondsDelay:Number = 2; // 1-60
    // END USER CONFIG SETTINGS
    // EVENTS =====
    playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
    function fl_togglePlayPause(evt:MouseEvent):void
    if(playPauseToggle_mc.currentLabel == "play")
      fl_startSlideShow();
      playPauseToggle_mc.gotoAndStop("pause");
    else if(playPauseToggle_mc.currentLabel == "pause")
      fl_pauseSlideShow();
      playPauseToggle_mc.gotoAndStop("play");
    next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
    prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
    function fl_nextButtonClick(evt:MouseEvent):void
    fl_nextSlide();
    function fl_prevButtonClick(evt:MouseEvent):void
    fl_prevSlide();
    var currentImageID:Number;
    var slideshowTimer:Timer;
    var appInit:Boolean;
    function fl_slideShowNext(evt:TimerEvent):void
    fl_nextSlide();
    // END EVENTS
    // FUNCTIONS AND LOGIC =====
    function fl_pauseSlideShow():void
    slideshowTimer.stop();
    function fl_startSlideShow():void
    slideshowTimer.start();
    function fl_nextSlide():void
    currentImageID++;
    if(currentImageID >= totalFrames)
      currentImageID = 0;
    gotoAndStop(currentImageID+1);
    function fl_prevSlide():void
    currentImageID--;
    if(currentImageID < 0)
      currentImageID = totalFrames+1;
    gotoAndStop(currentImageID+1);
    if(autoStart == true)
       fl_startSlideShow();
       playPauseToggle_mc.gotoAndStop("pause");
    } else {
      gotoAndStop(1);
    function initApp(){
    currentImageID = 0;
    slideshowTimer = new Timer((secondsDelay*1000), 0);
    slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
    if(appInit != true){
    initApp();
    appInit = true;
    // END FUNCTIONS AND LOGIC

  • CS6 Advanced Photo Album Template Upload Issue

    When I send the .swf to my coworker the images do not load. I have already made sure they image files are in the same folder has the .swf file. Please help
    Here is my code:
    import fl.data.DataProvider;
    import fl.events.ListEvent;
    import fl.transitions.*;
    import fl.controls.*;
    // USER CONFIG SETTINGS =====
    var secondsDelay:Number = 2;
    var autoStart:Boolean = true;
    var transitionOn:Boolean = true; // true, false
    var transitionType:String = "Squeeze"; // Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, Zoom, Random
    var hardcodedXML:String = "<photos><image title='Quality Coverage'>image1.JPG</image><image title='Money Savings'>image2.JPG</image><image title='Home Insurance'>image3.JPG</image><image title='Fred Loya has Got You Covered'>image4.JPG</image></photos>";
    // END USER CONFIG SETTINGS
    // DECLARE VARIABLES AND OBJECTS =====
    var imageList:XML = new XML();
    var currentImageID:Number = 0;
    var imageDP:DataProvider = new DataProvider();
    var slideshowTimer:Timer = new Timer((secondsDelay*1005), 0);
    // END DECLARATIONS
    // CODE FOR HARDCODED XML =====
    imageList = XML(hardcodedXML);
    fl_parseImageXML(imageList);
    // END CODE FOR HARDCODED XML
    // EVENTS =====
    imageTiles.addEventListener(ListEvent.ITEM_CLICK, fl_tileClickHandler);
    function fl_tileClickHandler(evt:ListEvent):void
        imageHolder.imageLoader.source = evt.item.source;
        currentImageID = evt.item.imgID;
    playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
    function fl_togglePlayPause(evt:MouseEvent):void
        if(playPauseToggle_mc.currentLabel == "play")
            fl_startSlideShow();
            playPauseToggle_mc.gotoAndStop("pause");
        else if(playPauseToggle_mc.currentLabel == "pause")
            fl_pauseSlideShow();
            playPauseToggle_mc.gotoAndStop("play");
    next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
    prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
    function fl_nextButtonClick(evt:MouseEvent):void
        fl_nextSlide();
    function fl_prevButtonClick(evt:MouseEvent):void
        fl_prevSlide();
    slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
    function fl_slideShowNext(evt:TimerEvent):void
        fl_nextSlide();
    // END EVENTS
    // FUNCTIONS AND LOGIC =====
    function fl_parseImageXML(imageXML:XML):void
        var imagesNodes:XMLList = imageXML.children();
        for(var i in imagesNodes)
            var imgURL:String = imagesNodes[i];
            var imgTitle:String = imagesNodes[i].attribute("title");
            imageDP.addItem({label:imgTitle, source:imgURL, imgID:i});
        imageTiles.dataProvider = imageDP;
        imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
        title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_startSlideShow():void
        slideshowTimer.start();
    function fl_pauseSlideShow():void
        slideshowTimer.stop();
    function fl_nextSlide():void
        currentImageID++;
        if(currentImageID >= imageDP.length)
            currentImageID = 0;
        if(transitionOn == true)
            fl_doTransition();
        imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
        title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_prevSlide():void
        currentImageID--;
        if(currentImageID < 0)
            currentImageID = imageDP.length-1;
        if(transitionOn == true)
            fl_doTransition();
        imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
        title_txt.text = imageDP.getItemAt(currentImageID).label;
    function fl_doTransition():void
        if(transitionType == "Blinds")
            TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Fade")
            TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Fly")
            TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Iris")
            TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Photo")
            TransitionManager.start(imageHolder, {type:Photo, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "PixelDissolve")
            TransitionManager.start(imageHolder, {type:PixelDissolve, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Rotate")
            TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Squeeze")
            TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Wipe")
            TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Zoom")
            TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
        } else if (transitionType == "Random")
            var randomNumber:Number = Math.round(Math.random()*9) + 1;
            switch (randomNumber) {
                case 1:
                    TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
                    break;
                case 2:
                    TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
                    break;
                case 3:
                    TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
                    break;
                case 4:
                    TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
                    break;
                case 5:
                    TransitionManager.start(imageHolder, {type:Photo, direction:Transition.IN, duration:0.25});
                    break;
                case 6:
                    TransitionManager.start(imageHolder, {type:PixelDissolve, direction:Transition.IN, duration:0.25});
                    break;
                case 7:
                    TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
                    break;
                case 8:
                    TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
                    break;
                case 9:
                    TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
                    break;
                case 10:
                    TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
                    break;
        } else
            trace("error - transitionType not recognized");
    if(autoStart == true)
       fl_startSlideShow();
       playPauseToggle_mc.gotoAndStop("pause");
    // END FUNCTIONS AND LOGIC
    /* Click to Load/Unload SWF or Image from a URL.
    Clicking on the symbol instance loads and displays the specified SWF or image URL. Clicking on the symbol instance a second time unloads the SWF or image.
    Instructions:
    1. Replace "http://www.helpexamples.com/flash/images/image1.jpg" below with the desired URL address of the SWF or image. Keep the quotation marks ("").
    2. Files from internet domains separate from the domain where the calling SWF resides cannot be loaded without special configuration.
    imageHolder.addEventListener(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF);
    import fl.display.ProLoader;
    var fl_ProLoader:ProLoader;
    //This variable keeps track of whether you want to load or unload the SWF
    var fl_ToLoad:Boolean = true;
    function fl_ClickToLoadUnloadSWF(event:MouseEvent):void
        if(fl_ToLoad)
            fl_ProLoader = new ProLoader();
            addChild(fl_ProLoader);
        else
            fl_ProLoader.unload();
            removeChild(fl_ProLoader);
            fl_ProLoader = null;
        // Toggle whether you want to load or unload the SWF
        fl_ToLoad = !fl_ToLoad;
    /* Click to Load/Unload SWF or Image from a URL.
    Clicking on the symbol instance loads and displays the specified SWF or image URL. Clicking on the symbol instance a second time unloads the SWF or image.
    Instructions:
    1. Replace "http://www.helpexamples.com/flash/images/image1.jpg" below with the desired URL address of the SWF or image. Keep the quotation marks ("").
    2. Files from internet domains separate from the domain where the calling SWF resides cannot be loaded without special configuration.
    imageHolder.addEventListener(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF_2);
    import fl.display.ProLoader;
    var fl_ProLoader_2:ProLoader;
    //This variable keeps track of whether you want to load or unload the SWF
    var fl_ToLoad_2:Boolean = true;
    function fl_ClickToLoadUnloadSWF_2(event:MouseEvent):void
        if(fl_ToLoad_2)
            fl_ProLoader_2 = new ProLoader();
            fl_ProLoader_2.load(new URLRequest("http://www.helpexamples.com/flash/images/image1.jpg"));
            addChild(fl_ProLoader_2);
        else
            fl_ProLoader_2.unload();
            removeChild(fl_ProLoader_2);
            fl_ProLoader_2 = null;
        // Toggle whether you want to load or unload the SWF
        fl_ToLoad_2 = !fl_ToLoad_2;

    how would I check to make sure I am using relative paths?

  • "Previous" button suggestion.

    (Yes, I will post this in the 'official' suggestions form... just thought that I would mention it here also.)
    Since we often work in studio, the photos tend to develop similarly, but not exactly the same. The photos tend to 'trend' in one direction, and then start changing in a different direction, with small changes of develop settings taking place from one photo to the next.
    We could use the "Copy" and "paste" function from one photo to the next, but when working through photos, the "Previous" button is much more convenient. What "Previous" does is copy ALL of the develop settings from the previously selected photo to the currently selected photo... but it is an "all or nothing" situation.
    The problem is that "Previous" copies thing like "Spot Removal", "Brush Tool", "Cropping", etc that are not necessarily items that you would want to carry over from one photo to the next, since they don't really match up between images.
    It would be great if there was a way to setup the "Previous" button just like the "Copy" button, where only specific items are transferred from one photo to the next when pressing "Previous". Maybe pressing "CTRL-Previous" could bring up a setup menu?
    It is a minor thing , but it would greatly simplify the workflow.

    GAP -
    Using SYNC is waaay to much work when going from photo to photo. SYNC is good for base adjustments, like color balance, base sharpening, etc.
    IMHO, SYNC is only really useful if you have to make a similar adjustment to many photos, based on a specific parameter. For example, if you want to apply additional noise reduction to all the photos shot at ISO 1600 with a specific camera, SYNC is the correct tool.
    But when you have to fine tune many photos in a series, going to the next photo and pressing "Previous" to get you in the general ballpark is often the best choice, since if the photos are similar the adjustments will probably be similar, except for special stuff like brushes, spotting and cropping.
    Adding a 'carry over' menu to "Previous" shouldn't be that hard, and it would certainly increase the usefulness of that function.

  • Photo Gallery - Next or Previous Button

    Hi,
    I am new to Action Script and I have a small issue that I
    can't seem to figure out...
    Probably very easy for you guys... ;)
    (1)
    I have a Photo Gallery here, kinda like a Photo show and
    under the picture is a 'Next' and 'Previous' button.
    Now when the user will click on e.g. the 'Next' button I want
    the pic shown to change into the next picture.
    I have all my pics in a movieclip all with labels s1, s2, s3
    etc. ....
    I already have the code setup to go to the appropriate
    movieclip but I don't know how to tell Flash via Action Script to
    go to label "s" + 1.... meaning:
    if the picture with the label "s2" is shown right now and the
    user clicks on the 'Next' button Flash need to go to the mc with my
    pics in it and then to the label "s3" --> "s2" + 1
    How do I do that ?
    (2)
    Another thing I was thinking about:
    Let's say I have 7 pics in the photo gallery and user is
    seeing pic # 7 right now (label "s7") and he clicks the 'Next'
    button I need to tell Flash to jump to label "s1" (to the first
    pic) because there is no eigth picture...
    How is that done ?
    Note: I am using Flash 9 CS3 so either AS2 or AS3 is
    welcome...
    Any help is appreciated and I thank you in advance for that
    Mike

    quote:
    Originally posted by:
    CanonBoy
    if you go to here:
    http://www.sapphiremonkey.com/picDemo.zip
    you can download a simple Flash 8 document I made to show you
    the code.
    Kelly
    Kelly,
    thanx for your reply....
    I think we're very close but here's some more info - I
    probably should have stated that earlier... sorry ! ;)
    the thing is a little more complicated and I just wanna make
    sure I use ur code at the right spots:
    So here are the three main objects we're dealing with:
    (1) movieclip next_btn --> contains rollover and rollout
    effects for the Next button as well as an invisible button holding
    the action script for that button
    (2) movieclip 'rollover_mc' --> which will bring a nice
    rollover effect between the pics
    (3) movieclip 'pics_mc' --> contains my pictures in a
    simple timeline with labels s1, s2, s3 etc. and stop actions at
    each frame for each pic
    --> (1) and (2) are on the same level, (3) is nested
    inside of (2)
    when the user clicks (1) the 'Next' button (label: next_btn)
    the cursor in the timeline of (2) the 'rollover_mc' movieclip will
    proceed and produce nice rollover animation from one pic to the
    next pic, having (3) in the midst of the animation go from one pic
    to the next.... at least that's the idea.... ;)
    so the action script for the 'Next' button (label: next_btn)
    right now is:
    on(rollOver){
    gotoAndPlay("m1"); --> rollover effect for the next
    button
    on(releaseOutside, rollOut){ --> rollout effect of the
    next button
    gotoAndPlay("m2");
    on(release){
    this.pics_rollover_mc.gotoAndPlay("p1");
    --> p1 is the label of the frame where the cursor will
    jump to and start the rollover animation --> that works ;) haha
    while the animation is rolling over to the next pic and it is
    just covering the actual picture that was just shown, the cursor
    (runnning through the timeline in the (2) 'rollover_mc' movieclip)
    will hit a key frame with an action script in it...
    and in that action script I need to tell Flash to go to (3)
    the movieclip with my pics in it (label: pics_mc which is nested in
    that timeline) and go from let's say "s2" PLUS ONE to label "s3"
    (the next pic in the series)...
    right now the code in that keyframe is:
    this.pics_mc.gotoAndPlay("s2")
    which means it only shows (after the animation) Pic2 (label:
    s2)
    now the code that you gave does make sense to me but where do
    I need to put which parts ?
    here's your code again:
    stop();
    _global.n = 1;
    _root.next_mc.onRelease = function() {
    n = n+1;
    if (n == 5) {
    n = 1;
    _root.pics_mc.gotoAndStop("s"+n);
    For example, the establishing code for the variable n....
    where do I need to put this code so it is globally valid ?
    I pasted it into the action keyframe of my next_btn, so the
    code looked like this:
    on(rollOver){
    gotoAndPlay("m1");
    on(releaseOutside, rollOut){
    gotoAndPlay("m2");
    _global.n = 1;
    _root.next_btn.onRelease = function() {
    n = n+1;
    if (n == 5) {
    n = 1;
    _root.pics_mc.gotoAndStop("s"+n);
    and it gave me the following error message:
    **Error** Symbol=1.2 next_btn, layer=invisible_btn,
    frame=1:Line 7: Statement must appear within on handler
    _global.n = 1;
    **Error** Symbol=1.2 next_btn, layer=invisible_btn,
    frame=1:Line 8: Statement must appear within on handler
    _root.next_btn.onRelease = function()
    my (amateurish) opinion is that the part
    _root.pics_mc.gotoAndStop("s"+n); has to go into the action
    script keyframe that the cursor will hit when running through the
    timeline in the (2) rollover_mc movieclip
    therefore if u wanna start the animation when u click the
    button u would have to change your code that u paste into the
    next_btn keyframe:
    on(rollOver){
    gotoAndPlay("m1");
    on(releaseOutside, rollOut){
    gotoAndPlay("m2");
    _global.n = 1;
    _root.next_btn.onRelease = function() {
    n = n+1;
    if (n == 5) {
    n = 1;
    _root.pics_rollover_mc.gotoAndPlay("p1");
    I did that but it still gives me the above error message....
    Thanx for your help in advance ! ;)

  • How can i create an album with chose category list and next/previous button

    hello guys im working on a project for my uni i finished the whole website but one thing is missing
    i need to create a photo album with next and previous button, with choosing a category and inside each category i have like 5 pictures and i can change with the next/previous buttons to see another picture of the  same category.
    Please see the picture below to see what i mean.
    some told me it needs flash but i dont know how to work on it :S so plz if anyone can help me
    thank you

    Dear Mr. Murphy,
    thank you for your help.
    Actually i have tried to search for a tutorial and i found that one that was very helpful and gave me the half solution. the part i found and it worked with me is the part of the next and previous buttons and moving from an image to another.
    SO the part i still need is the list so when i click on a category i get the pictures of the chosen category, I had the idea of create a flash for each category alone and maybe i will be able to add them all together.
    But i guess it's too much work and there must be a way where i can make it all in one flash file.
    If you have any idea let me know please, thank you again for your help and i'm trying to search for the AS3 image gallery as you told me.
    Regards

  • Photo Gallery ....disable a previous button once it reaches img zero

    I have made a simple photo gallery that reads from external XML file. The gallery allows the user to see the next image by clicking the next button as well as the previous image by clicking the previous button.
    I need a bit of code that would disable the previous button when its at the first image, and disable the next image once the user is on the last image.
    This is what I have thus far:
    var xmlRequest:URLRequest = new URLRequest("wImgData.xml");
    var xmlLoader:URLLoader = new URLLoader(xmlRequest);
    var imgData:XML;
    var imageLoader:Loader;
    var rawImage:String;
    var rawH:String;
    var rawW:String;
    var imgNum:Number = 0;
    var checkSec:Timer = new Timer(1);
    var numberOfChildren:Number;
    xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedF);
    next_btn.addEventListener(MouseEvent.CLICK, nextImgF);
    prev_btn.addEventListener(MouseEvent.CLICK, prevImgF);
    master_mc.buttonMode = true;
    function xmlLoadedF(event:Event):void{
        checkSec.start();
        checkSec.addEventListener(TimerEvent.TIMER, checkerF);
        imgData = new XML(event.target.data);   
    function packagedF():void{
        checkSec.start();
        checkSec.removeEventListener(TimerEvent.TIMER, checkerF);
        rawImage = imgData.image[imgNum].imgURL;
        numberOfChildren = imgData.*.length();
        rawW = imgData.image[imgNum].imgW;
        rawH = imgData.image[imgNum].imgH;
        imageLoader = new Loader;
        imageLoader.load(new URLRequest(rawImage));
        master_mc.addChild(imageLoader);
        imageLoader.x = (stage.stageWidth - Number(rawW)) /2;
        imageLoader.y = (stage.stageHeight - Number(rawH)) /2;
    function checkerF(event:TimerEvent):void{
        if(imgNum == 0){
            packagedF();
        }else if(imgNum < numberOfChildren){
            imageLoader.unload();
            packagedF();
        }else{
            imageLoader.unload();
            imgNum = 0;
            packagedF();
    function nextImgF(event:MouseEvent):void{
        checkSec.addEventListener(TimerEvent.TIMER, checkerF);
        imgNum++;
    function prevImgF (event:MouseEvent):void{
        checkSec.addEventListener(TimerEvent.TIMER, checkerF);
        imgNum--;

    All you need to do is remove the listeners in the event handlers for the buttons. I'll use previous as an example.
    function prevImgF (event:MouseEvent):void{
        checkSec.addEventListener(TimerEvent.TIMER, checkerF);
        imgNum--;
         if(imgNum == 0){
              //at first
              prev_btn.removeEventListener(MouseEvent.CLICK, prevImgF);
    You'd do the same to the next button's listener when the imgNum == the number of images. You'll also need to add the previous listener back to the button when they press next.

Maybe you are looking for

  • How do I create this kind of synth track?

    I'm trying to recreate the synth instrument used in this song in Garageband... from 0:05-0:13 http://www.youtube.com/watch?v=vW1hv37imjw I'm not sure how I should go about doing so...I don't want to be playing individual keys for each chord pressed.

  • How to run MRP for Bulk Material without using LTP

    Hi, how can I run MRP for BULK material without using LTP. Thanks in advance BK

  • Security - Password Expiration with Form Base Authentication

    Hi everbody, I have configured the security of my application and this works fine. I configured the roles and match roles with groups defined in my LDAP I used the form base authentication. Perfect, but now I configure in LDAP that the user password

  • Lost Gigabytes

    Ok so I had to reinstall OS X due to some networking problems. I used archive and install with saving user preferences. Everything turned out OK except for one thing. Before I installed, I had 30 GB free... and now I have 20 GB free. It's like 10 GB

  • NEF raw to jpeg

    Good morning I have downloaded PS Elements free trial, prior to buying! I uploaded a NEF raw picture to convert it to jpeg and I do not seem to be able to do this, can you help? thank you in advance Paul