Continuing with my updating an Actionscript 2 project to Actionscript 3 I’m really enjoying the optimisation possibilities that AS3 provides.
For example, In my as2 code I had a recursive method for finding a node.
// recursive node search
private function findNode(n:XMLNode,name:String,attname:String,attdata:String):XMLNode{var xNode:XMLNode;
if(n.hasChildNodes()){for(var i = 0; i < n.childNodes.length; i++){
if(n.childNodes[i].nodeName == name){
if(n.childNodes[i].attributes[attname] == attdata){
xNode = n.childNodes[i];
}
}
if(xNode != undefined){break;
}else if(n.childNodes[i].hasChildNodes()){
xNode = findNode(n.childNodes[i],name,attname,attdata);
}
}
}
return xNode;}
In as3 this is now so much cleaner:
private function findNode(n:XMLNode,name:String,attname:String,attdata:String):XMLNode{
return n.descendants(name).(@[attname] == attdata);
}
This makes me happy.
One Comment
Hi, can you email me? I’m interested in hiring you to do some custom flash work with one of your pieces I found on activeden but I cant seem to find any way to contact you (completely could be missing it).
Thanks!