-
for loop, duplicate movieclip, and getURL problem
Hi,
I have one movieclip which has onRelease function in the loop, but it isn't working for me properly. Maybe someone can help me with this.
Here is my code:
Actionscript Code:
var dataXML:XML = new XML(); dataXML.ignoreWhite = true; var url:String = "";
dataXML.onLoad = function(success){ if(success){ var news:Array = dataXML.firstChild.firstChild.childNodes; for (i = 0; i < 9; i++) { url = news[i].childNodes[1].firstChild.nodeValue;
mc_url.duplicateMovieClip("mc_url_new"+i, i); _root["mc_url_new"+i]._x = 170; _root["mc_url_new"+i]._y=i*mc_url._height; _root["mc_url_new"+i].onRelease = function(){ this.getURL(url); }
trace(url); } } else{ trace("didint load"); } } dataXML.load("data.xml");
Problem is, that all dynamically generated mc's have the same url which is the last in the xml file. But when I trace the code, all url's are loading successfully...
I was wondering, that it could be the mc's depth problem, because dynamically generated last mc has the highest depth, but I can't figure it out how to solve this problem anyway...
-
Code:
var dataXML:XML = new XML();
dataXML.ignoreWhite = true;
var url:String = "";
dataXML.onLoad = function(success) {
if (success) {
var news:Array = dataXML.firstChild.firstChild.childNodes;
for (i=0; i<9; i++) {
var mc = mc_url.duplicateMovieClip("mc_url_new"+i, i);
mc._x = 170;
mc._y = i*mc_url._height;
mc.myurl = news[i].childNodes[1].firstChild.nodeValue;
mc.onRelease = function() {
this.getURL(this.myurl);
};
}
} else {
trace("didint load");
}
};
dataXML.load("data.xml");
-
Thanks alot
Completely solved problem
-
can somebody put actionscript 3 version for this ?
-
Please post your xml file format.
-
following is my xml format:
<?xml version="1.0" encoding="utf-8"?>
<data>
<topics>
<topic click="http://www.xyz.com/" title="-> Calculator: What would you save with a Hybrid?">Hybrid</topic>
<topic click="http://www.abc.com/" title="-> Calculator: What would you save with a Hybrid?">Hybrid</topic>
<topic click="http://www.google.com/" title="-> Calculator: What would you save with a Hybrid?">Hybrid</topic>
<topic click="http://www.yahoo.com/" title="-> Calculator: What would you save with a Hybrid?">Hybrid</topic>
</topics>
</data>
-
Movie clip in library, export linkage class 'mc_url'
Code:
// AS3 code on main timeline
var xmlData:XML;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError, false, 0, true);
loader.load(new URLRequest("data.xml"));
stop();
function onComplete(evt:Event):void {
try {
xmlData=new XML(evt.target.data);
for (var i in xmlData.topics.topic) {
trace(xmlData.topics.topic[i]);
trace(xmlData.topics.topic[i].@click);
trace(xmlData.topics.topic[i].@title);
var mc = new mc_url();
mc.myurl=xmlData.topics.topic[i].@click.toString();
mc.x=170;
mc.y=i*mc.height;
mc.addEventListener(MouseEvent.MOUSE_UP, goURL);
addChild(mc);
}
loader.removeEventListener(Event.COMPLETE, onComplete);
loader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
//
} catch (err:Error) {
trace("Could not parse loaded content and XML:\n" + err.message);
}
}
function goURL(evt:MouseEvent):void {
var url:URLRequest = new URLRequest(evt.currentTarget.myurl);
navigateToURL(url, "_blank");
}
function onIOError(evt:IOErrorEvent):void {
trace("Problem loading XML:\n" + evt.text);
}
-
thanks a LOT
Tags for this Thread
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
|