Solved

Flash ActionScript 2 HELP attachMovie refuses to work

Posted on 2008-09-30
7
1,040 Views
Last Modified: 2013-11-11
This code works perfectly in on project - but not this one.

XML loads perfectly
Loops work
Declarations work
Array Works

But the attachMovie refuses to do anything.
As I said, this works in another project - just not this one.

I tried setting the library item to "export" but it's not set that way in the other project AND it didn't fix it this time.

The only real difference betweeen projects, that that this SWF is embedded one level deeper.

Old File: _level0.container_r.contentMain_mc
This File: _level0.shell_mc.loader_r.contentMain_mc

What am I missing? Or do I need to post more?
var floorplanArray:Array = new Array();
 

var myxml:XML = new XML();

myxml.ignoreWhite = true;

myxml.onLoad = function(success) {

	trace("success");

	var comm = "aaa"

	var itemY = this.firstChild.childNodes;

	if (success) {

		// Scroller XML

		var newY = 0;

		for (var j:Number = 0; j < itemY.length; j++) {

			var comm = myVariables.getNewComm();

			var srchComm = itemY[j].firstChild.firstChild.nodeValue;

			if (srchComm == comm) {

				trace(j+" - "+comm+" ok"); //returns 1 - aaa ok

				var temp_mc:MovieClip = shell_mc.loader_r.contentMain_mc.attachMovie("itemY","itemY"+j,j);

				temp_mc._y += newY;

				newY = newY+(temp_mc._height + space);

				contentMain_mc.back_mc._height = j * (temp_mc._height + space);
 

				trace(itemY[j].firstChild.firstChild.nodeValue);

				temp_mc.planComm = itemY[j].firstChild.firstChild.nodeValue;

				temp_mc.planID = itemY[j].childNodes[1].firstChild.nodeValue;

				temp_mc.planName = itemY[j].childNodes[2].firstChild.nodeValue;
 

				floorplanArray.push(temp_mc.planComm);

				floorplanArray.push(temp_mc.planID);

				floorplanArray.push(temp_mc.planName);
 

				//Scroller Display 

				url = srcPl + job + "pl_" + temp_mc.planComm + "-" + temp_mc.planID + ".swf";

				loader.loadClip(url,temp_mc.item_floorplan);
 

				temp_mc.onPress = function(planID) {

					changeMasterPlan(this.planID);

				};

				

				trace("temp_mc test:");

				trace("  temp_mc.planComm: "+temp_mc.planComm); // returns perfectly

				trace("  "+temp_mc.planID); //returns undefined

				trace("  "+temp_mc.planName); //returns undefined

				trace("  "+temp_mc._y); //returns undefined

			}

		}

		contentMain_mc.item0.onRelease();

		//startPreload(item[0].childNodes[1].firstChild.nodeValue);

	} else {

		trace("error");

	}

	
 

	

};

myxml.load(path);

contentMain_mc.createEmptyMovieClip("back_mc",this.getNextHighestDepth());

contentMain_mc.setMask(maskedView);

trace(contentMain_mc); //returns _level0.shell_mc.loader_r.contentMain_mc

Open in new window

0
Comment
Question by:LazarusBlack
  • 5
  • 2
7 Comments
 
LVL 34

Expert Comment

by:Aneesh Chopra
ID: 22607893
For your info,

AttachMovie cannot be used to attach a movieClip inside an externally loaded SWF.
This is not allowed and not possible in any way..

-------------------
Aneesh Chopra
-------------------
0
 

Author Comment

by:LazarusBlack
ID: 22608050
I'm sorry but you are not correct. As I said, it works here perfectly:

http://betalennar.zadv.com/_WebSites/Plasma/index.htm

The "shell.swf" uses containerPrime.loadMovie("xxx") to load fp-r.swf which in turn uses the script posted above. Works GREAT!

But I'm updating this same project to a slight different configuration. The new configuration uses:

"shell.swf" to load "timeline.swf" which then loads "fp-r.swf".

Now, it's not working. Need another solution.



0
 

Author Comment

by:LazarusBlack
ID: 22608067
Wait. Maybe you misunderstood - the attachMovie is inside the fp-r.swf,

You would be correct if I was using attachMovie from shell.swf or timeline.swf.

Still need a solution.
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 34

Expert Comment

by:Aneesh Chopra
ID: 22608121
I got it right,
trying to explain it again..

MovieClip.attachMovie method uses a linkageID of an library item..
I want to explain that, linkageID of the library of an SWF can't be attached in any child SWFs movieClip..

earlier, you were loading "timeline.swf" into "shell.swf" and attachMovie command may be inside "timeline.swf" and which might be using the linkageID of a library Item of "timeline.swf" which means attaching in same SWF which were working..

now you may be trying to attach the linkageID item of the library "timeline.swf" into the movieClip of "fp-r.swf"
as per my explaination that will not work.
0
 

Author Comment

by:LazarusBlack
ID: 22608291
Thank you.

>you may be trying to attach the linkageID item of the library "timeline.swf" into the movieClip of "fp-r.swf"

I am not trying to do this.

The linkage is inside "fp-r.swf" drawing in "1.swf, "2.swf" or whatever the XML wants.

Does that help?
0
 

Author Comment

by:LazarusBlack
ID: 22609312
I am now confident that there is nothing wrong with the code.

It's some other feature of Flash attaching movies that I don't know that is the problem.
0
 

Accepted Solution

by:
LazarusBlack earned 0 total points
ID: 22610704
found the culprit. there was a corrupt container_mc requiring the inclusion of 2 other empty mc!!!

once I copied the 2 missing mcs from the old working file into the new file, everything worked.

still can't figure out how the master container references them. one is listed as 'for export' but i can't find any object on the stage OR any declaration in the code.

Thanks anyway.
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

Introduction This article is primarily concerned with ActionScript 3 and generally specific to AVM2.  Most suggestions would apply to ActionScript 2 as well, and I've noted those tips that differ between AS2 and AS3. With the advent of ActionS…
Sometimes you know that one object has a specific child in it, but you can't find the child. This happened to me when I was trying to code some actionScript to make a toolbar work with its embedded buttons.  My partner had created the toolbar usi…
In this tutorial viewers will learn how to create a basic shape tween animation in Flash including shape hints for smooth animation Open a new document in Flash: Draw a shape: Select another frame (how long you want the tween to be): Right click and…
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto 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

18 Experts available now in Live!

Get 1:1 Help Now