Solved

Creating and attaching dynamic movieclip to scrollpane

Posted on 2003-10-31
11
864 Views
Last Modified: 2008-01-16
Hi,

I am trying to create movie clip on fly at run time and load it in a scrollpane. I have a basic movieclip "nk" which consists of an image area and text field. After getting the data from DB, I want to create a main blank movie clip which will have duplicate movie instances of "nk" (it is in library) with different images and text. After creating the main movie clips, I want to attach it to scrollpane. here is the sample code which I am using:
========
_root.createEmptyMovieClip("myscroll",0);

for (i=0; i<5; i++){
   myMovie = "myMovie" + (i);
   _root.myscroll.createEmptyMovieClip(myMovie,i);
   var x = i + 5;
   var mc = _root.myscroll[myMovie].attachMovie("nk", "NK", i);
   mc._y = 100 * (i+1) + 20 * i;
  // mc._x = 135;
}
myScrollPane.setScrollContent(_root.myscroll);
myScrollPane.refreshPane();
====================
After attaching "myscroll" to scrollpane, it shows image only for the first nested clip. It shows the text for all clips but text goes out of bound of scrollpane. It appears the images are not visible except the first one. I want:
1. To display image for all the clips and
2. to keep the text within the component which should appear on scrolling.

Thanx in advance for your help.

NK
0
Comment
Question by:nk94555
  • 4
  • 4
11 Comments
 
LVL 27

Expert Comment

by:negatyve
ID: 9661704
• remove myscroll movieclip from the stage
• create an empty movieclip in the library
• give it a linkage, for example "myscroll"
• change your script to:

====================
myScrollPane.setScrollContent("myscroll");
var sp = myScrollPane.getScrollContent();

for (var i = 0; i < 5; i++){
      var myMovie = "myMovie" + i;
      var nc = sp.createEmptyMovieClip(myMovie, i);

      var mc = nc.attachMovie("nk", "NK", i);
      mc._y = 100 * (i+1) + 20 * i;
      // mc._x = 135;
}
myScrollPane.refreshPane();
====================
0
 

Author Comment

by:nk94555
ID: 9661720
Hi,

I tried the similar thing earlier but it has the same effect. I can email you fla file if that helps.

Thanx,
0
 
LVL 27

Expert Comment

by:negatyve
ID: 9661724
it is better if you post it on a public server (due to EE guidelines)
0
 

Author Comment

by:nk94555
ID: 9661730
Hi,

That is difficult, i don't have access to any public server. email is the best way.
0
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.

 
LVL 27

Expert Comment

by:negatyve
ID: 9661757
0
 

Author Comment

by:nk94555
ID: 9662157
Hi Negatyve,

Thanx for creating the fla. Yes it works fine and I also figured out the problem in my fla. I have defined the textfield "nk" as dynamic field while in your case it is static. If you change it to Dynamic you will see the problem.

I need to keep it dynamic because I will fill these text values from database. One more thing I also need to keep a movie clip area in these clips where I will fill the corresponding images from our server. Project is to get 50 images and corresponding text from server and set them in three columns & rows and attach it to scrollpane. It will be set like 50 boxes containing images and text under the image. Can you please help me to make it work.

Thanx again, I really appreciate it.
NK.
0
 
LVL 27

Expert Comment

by:negatyve
ID: 9668265
I have changed the text to dynamic textfield, with instance name "try_txt", then changed the script to:

myScrollPane.setScrollContent("myscroll");
var sp = myScrollPane.getScrollContent();
test = ["pippo", "minnie", "Pluto", "Gamba", "ciccio"]
for (var i = 0; i < 5; i++){
    var myMovie = "myMovie" + i;
    var nc = sp.createEmptyMovieClip(myMovie, i);

    var mc = nc.attachMovie("nk", "NK", i);
    mc._y = 100 * (i+1) + 20 * i;
      mc.try_txt.autoSize = true;
      mc.try_txt.text = test [i];
    // mc._x = 135;
}
myScrollPane.refreshPane();


it works fine..
0
 

Author Comment

by:nk94555
ID: 9668876
Hi,

I tried this but didn't woek. I copied the complete code above. I have found an alternate way of doing this. It goes like this:

=========================
   mytextfield       = "mytextfield" + (i)            
   mc.createTextField(mytextfield,i,-75,-5,150,40);
                  
//THIS IS KEY FIX HERE - THE NEXT LINE
   mc[mytextfield].embedFonts = true;
   mc[mytextfield].setNewTextFormat(myTextFormat);
   mc[mytextfield].textColor = 0x0000FF;
   var newtxtformat = mc[mytextfield].getNewTextFormat();
   newtxtformat.size = 10;
   newtxtformat.underline = true;
   newtxtformat.align = "center";
   newtxtformat.html = true;
   mc[mytextfield].setNewTextFormat(newtxtformat);
   mc[mytextfield].Text = "NK" + i;

==================

The key here is the embedFonts set to true works fine the way I want it to work. But your approach looks simple, if it is working fine at your end, then send me your flas and I will give it a try.

One side issue, I want to use property mc[mttextfield].htmlText = "<i>NK</i>"; but it is not working, it displays the plain text instead of HTML. I have set teh html property true in above line. Do you know why it is doing it and how to make it work.

Thanx.
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 12185990
PAQed, with points refunded (0)

Computer101
E-E Admin
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

Suggested Solutions

Title # Comments Views Activity
SCCM 2012 - Deploy Flash 16 6,900
What languages and tools i need to use to develop Teen Patti game. 9 547
Animating text  - electrons orbit around letter M 12 73
Flash ActionScript 6 43
Recently, I was asked to recommend a tracking system to be implemented on a clients website. As the entire site was built on flash, my first thought was to suggest custom built tracking system. However, our company at that point of time didn't h…
I have been doing hardcore actionscripting for some time; and needless to say I have faced a lot of problems in just understanding others' code rather than understanding what the code executes. A programmer's life can become hell when there are a lo…
The goal of the tutorial is to teach the user how to how to record live broadcast.
The goal of the tutorial is to teach the user how to use the auto adjust feature and what the different options do. When your video is not working right you can choose the auto adjust feature to help choose your settings.

863 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

19 Experts available now in Live!

Get 1:1 Help Now