-
MC creation
Hi,
I'm on a journey to make a website entirely made inside of one empty frame of actionscript. Very early I have hit a snag, I'm using AS2 by the way. I load info from an xml, inside the xml looks like this.
<xml>
<home></home>
<history></history>
<portfolio></portfolio>
<contact></contact>
</xml>
then my script on the first page looks like this:
var loader = new XML();
loader.ignoreWhite = true;
loader.onLoad = function(success) {
if (success) {
xml = loader.firstChild;
trace("success");
menue();
}
};
loader.load("data.xml");
//Control Variables
menueItemX = 0;
menuePadding = 10;
//Create Menu Container
var menucontain = _root.createEmptyMovieClip("menucontainer",this.ge tNextHighestDepth());
//Create menue
menue = function () {
for (i=0; i<xml.childNodes.length; i++){
//Create item container
var menue = menucontain.createEmptyMovieClip("item"+[i], this.getNextHighestDepth());
//Create textField in container and set properties
menue.createTextField("my_txt", 1, 0, 0, 0, 0);
menue.my_txt.autoSize = "center";
menue.my_txt.multiline = false;
menue.my_txt.wordWrap = true;
menue.my_txt.selectable = false;
//menue.my_txt.embedFonts = true;
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFFFFFF;
my_fmt.size = 30;
my_fmt.bold = true;
//my_fmt.font = "Arial";
//Write text from xml into menue item
menue.my_txt.text = xml.childNodes[i].nodeName;
//Apply text formatting
menue.my_txt.setTextFormat(my_fmt);
menue._x = menueItemX;
menueItemX += menue.my_txt.textWidth+menuePadding;
trace(menue.my_txt.textWidth);
menue.my_txt._width = menue.my_txt.textWidth + 5;
menue.my_txt._height = menue.my_txt.textHeight;
//release actions of button
menue.onRelease = function(){
trace(this.my_txt.text);
}
//rollover actions of button
menue.onRollOver = function(){
this._alpha = 50;
}
menue.onRollOut = function(){
this._alpha = 100;
}
//trace
trace(xml.childNodes[i].nodeName);
}
};
It's pretty long and does a lot and worked fine until I wanted to make every created mc go inside a menucontain mc. What happens is only the last item of the xml gets written. if I try this code it works great:
var loader = new XML();
loader.ignoreWhite = true;
loader.onLoad = function(success) {
if (success) {
xml = loader.firstChild;
trace("success");
menue();
}
};
loader.load("data.xml");
//Control Variables
menueItemX = 0;
menuePadding = 10;
//Create menue
menue = function () {
for (i=0; i<xml.childNodes.length; i++){
//Create item container
var menue = this.createEmptyMovieClip("item"+[i], this.getNextHighestDepth());
//Create textField in container and set properties
menue.createTextField("my_txt", 1, 0, 0, 0, 0);
menue.my_txt.autoSize = "center";
menue.my_txt.multiline = false;
menue.my_txt.wordWrap = true;
menue.my_txt.selectable = false;
//menue.my_txt.embedFonts = true;
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0xFFFFFF;
my_fmt.size = 30;
my_fmt.bold = true;
//my_fmt.font = "Arial";
//Write text from xml into menue item
menue.my_txt.text = xml.childNodes[i].nodeName;
//Apply text formatting
menue.my_txt.setTextFormat(my_fmt);
menue._x = menueItemX;
menueItemX += menue.my_txt.textWidth+menuePadding;
trace(menue.my_txt.textWidth);
menue.my_txt._width = menue.my_txt.textWidth + 5;
menue.my_txt._height = menue.my_txt.textHeight;
//release actions of button
menue.onRelease = function(){
trace(this.my_txt.text);
}
//rollover actions of button
menue.onRollOver = function(){
this._alpha = 50;
}
menue.onRollOut = function(){
this._alpha = 100;
}
//trace
trace(xml.childNodes[i].nodeName);
}
};
but then all the menu items created exist on the root, but I want them in another mc, to be able to change the position of the entire menu at any time... Can anyone offer me some guidance as to what I'm doing wrong?
Thanks so much for your help
-
When you create your movieclips inside that "menucontain" movieclip I assume you change the path used on createEmptyMovieClip. Just remember to change the path on the getNextHighestDepth() too.
/Mirandir
-
great call, that totally cought me off guard. I'll keep that in mind in the future...
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|