Solved

Unable to see Zoom in images after click on the thumbnail images

Posted on 2007-04-05
3
214 Views
Last Modified: 2010-04-03
Hi, experts

I have the following code that import external images. First, it will display small images and user can see zoom in images when click on small images..... The problem is when click on small image that zoom in image is not showing up [ function buttonClick() ]. Please any suggestion welcome. Thanks

Code

var _loc1 = this;
//
function loadMe() {
      myX = 62;
      myY = 125;
      gap = 105;
      gap2 = 0.66;
      max = 4;
      counter = 0;
      var ScrollMovie:MovieClip = _loc1.createEmptyMovieClip("ScrollMovie", 1);
      for (n=1; n<howMany; n++) {
            mc = ScrollMovie.createEmptyMovieClip("myTarget"+n, 20+n);
            picture = "netblue/"+projects[n]+".jpg";
            eval("ScrollMovie.myTarget"+n).loadMovie(picture);
            //mcLoader.loadClip(picture, eval("ScrollMovie.myTarget"+n));
            if (counter>max) {
                  counter = 0;
                  myY = myY+gap;
            }
            // end if                                                            
            mc._x = myX+gap*counter;
            mc._y = myY*gap2;
            trace("counter:"+counter);
            ++counter;
      }
      //
      // end of for
      mask_mc = _loc1.attachMovie("bg", "mask_mc", _loc.getNextHighestDepth());
      mask_mc._x = bg._x;
      mask_mc._y = bg._y;
      ScrollMovie.setMask(mask_mc);
      if (howMany>20) {
            trace("Too many!!");
            //for (i=20; i>20; i++) {
            trace("Trace n = "+n);
            //}
      }
}
// End of the function
function buildMenu() {
      myX = 62;
      myY = 125;
      gap = 105;
      gap2 = 0.66;
      max = 4;
      counter = 0;
      for (i=1; i<howMany; i++) {
            mc = ScrollMovie.attachMovie("button", "button"+i, 50+i);
            // Add the following to make rollOver works
            mc.btn.onRollOut = buttonOut;
            mc.btn.onRollOver = buttonOver;
            mc.btn.onRelease = buttonClick;
            trace("Menu list --   "+i);
            mc.i = i;
            _loc1.myName = i;
            _loc1.myName = _loc1.projects[i];
            mc.person.text = _loc1.myName;
            trace("myName --   "+myName);
            _loc1.n = i;
            if (counter>max) {
                  counter = 0;
                  myY = myY+gap;
            }
            // end if                                                            
            mc._x = myX+gap*counter;
            mc._y = myY*gap2;
            trace("counter:"+counter);
            ++counter;
      }
      // end of for
}
// End of the function
function buttonOver() {
      _loc1 = this._parent._parent;
      trace("which one is roll over now --  "+this._parent);
      this._parent.gotoAndStop(6);
      _loc1.myName = _loc1.projects[i];
      mc = _loc1["myTarget"+this._parent.i];
      mc._xscale = mc._yscale=120;
      prev_width = this._parent._width;
      this._parent._xscale = this._parent._yscale=120;
      after_width = this._parent._width;
      this._parent.buffer = (after_width-prev_width)/2;
      this._parent._x -= this._parent.buffer;
      this._parent._y -= this._parent.buffer;
      mc._x -= this._parent.buffer;
      mc._y -= this._parent.buffer;
      mc.swapDepths(120);
      this._parent.swapDepths(121);
}
// End of the function
function buttonOut() {
      mc = _loc1["myTarget"+this._parent.i];
      mc._xscale = mc._yscale=100;
      this._parent._x += this._parent.buffer;
      this._parent._y += this._parent.buffer;
      mc._x += this._parent.buffer;
      mc._y += this._parent.buffer;
      this._parent._xscale = this._parent._yscale=100;
      this._parent.gotoAndStop(1);
}
function buttonClick() {
      _loc1 = this._parent._parent;
      //
      _loc1.createEmptyMovieClip("zoomMC12", 9999);
      _loc1.zoomMC12._x = 322;
      _loc1.zoomMC12._y = 222;
      trace("Click on button  "+this);
      zoomMC = _loc1.zoomMC12.createEmptyMovieClip("myTarget", 9999);
      trace(" import Project bigger image n = "+this._parent.i);
      zoomPicture = "netblue/zoom/"+String(_loc1.projects[this._parent.i])+".jpg";
      //After roll over status
      for (i=1; i<20; i++) {
            mc._alpha = 30;
      }
      ///////////////////////////////////////////////
      _loc1.mcLoader.loadClip(zoomPicture, zoomMC);
      _loc1.zoomMC12.onPress = function() {
            unloadMovie(this);
            unloadMovie(whiteOutBG);
      };
}
_loc1.upStatus = 0;
//
var myListener = new Object();
myListener.onLoadInit = function(target_mc) {
      this.imageborder = 9;
      target_mc._x = -(target_mc._width/2);
      target_mc._y = -(target_mc._height/2);
      trace("Picture width  "+target_mc._width);
      //Load white BG
      _loc1.attachMovie("whiteOutBG", "whiteOutBG", 9998);
      _loc1.whiteOutBG._width = target_mc._width+2*this.imageborder;
      _loc1.whiteOutBG._height = target_mc._height+2*this.imageborder;
      _loc1.whiteOutBG._x = 322;
      _loc1.whiteOutBG._y = 222;
};
var mcLoader = new MovieClipLoader();
mcLoader.addListener(myListener);
//
//Scroller
increment = 20;
downLimit = -112;
upLimit = 0;
down.onPress = function() {
      if (ScrollMovie._y>downLimit) {
            ScrollMovie._y = ScrollMovie._y-increment;
      }
};
up.onPress = function() {
      if (ScrollMovie._y<upLimit) {
            ScrollMovie._y = ScrollMovie._y+increment;
      }
};
// End of the function
#include "netblue/netblueList.as"
var scrolling = 0;
var howMany = projects.length;
var n = 1;
loadMe();
buildMenu();
var myName;
stop();
0
Comment
Question by:mingchih
  • 2
3 Comments
 
LVL 34

Accepted Solution

by:
Aneesh Chopra earned 500 total points
ID: 18856520
just replace "buttonClick" function code with the following:
I marked the code lines I have edited

==============
function buttonClick()
{
      _loc1 = this._parent._parent._parent; // editted
      //
      _loc1.createEmptyMovieClip("zoomMC12", 9999);
      _loc1.zoomMC12._x = 322;
      _loc1.zoomMC12._y = 222;
      trace("Click on button  "+this);
      trace("_loc1:"+_loc1);

      zoomMC = _loc1.zoomMC12.createEmptyMovieClip("myTarget", 9999);
      zoomPicture = "netblue/zoom/"+String(_loc1.projects[this._parent.i])+".jpg";// editted
      //After roll over status
      for (i=1; i<20; i++)
      {
            mc._alpha = 30;
      }
      ///////////////////////////////////////////////
      _loc1.mcLoader.loadClip(zoomPicture, zoomMC);
      _loc1.zoomMC12.onPress = function()
      {
            unloadMovie(this);
            unloadMovie(whiteOutBG);
      };
}
=================

- Aneesh Chopra
0
 

Author Comment

by:mingchih
ID: 18859781
ahh, cool,.... Thanks, Aneesh... so, the layer did not point deep enough :) I think I found another small problem when roll off small image but i will try to fix it myself and if not, i will post another Q

Thanks a lot
0
 

Author Comment

by:mingchih
ID: 18862572
Hi, Aneesh

How are you? I found a small problem but I could not really solve it by my self.... I have created a question at EE and could you take a look if you have time?

http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/Q_22495945.html

Thanks for helping
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are times in your Flash CS4 application when you want more than a simple pointer or a hand, and it's hard to find an ideal walk-through to tell you what to do.  I spent a few days recently learning my way around making custom cursors in Flash,…
Here are some practices and techniques that can be adopted into your Flash/Flex application development process. Note: Not all "performance tips" provide an immediately-recognizable benefit.   This article does not include timing validation data,…
The goal of the tutorial is to teach the user how to how to record live broadcast.
This Micro Tutorial will teach to how to utilize bit rate in Adobe Flash Media Live Encoder.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now