I am new to AS3 and I have a requirement to load data from XML to different Arrays and display data to stage when user clicks on Buttons present on stage.
I am able to successfully trace the values from .as file. But I need to display this data only on button click (button resides in FLA file)
This is the code
package
{
import flash.display.;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.xml.*;
import flash.display.Sprite;
public class itinXML extends MovieClip
{
private var my_array:Array;
public function itinXML()
{
my_array=new Array();
this.loadXML();
}
private function loadXML():void
{
var loader:URLLoader=new URLLoader();
loader.addEventListener(Event.COMPLETE,completeHandler);
var request:URLRequest=new URLRequest('itinerary.xml');
try
{
loader.load(request);
}
catch(error:Error)
{
trace('XML Could not be loaded');
}
}
private function completeHandler(event:Event):void
{
var loader:URLLoader=URLLoader(event.target);
var result:XML=new XML(loader.data);
var myXML:XMLDocument=new XMLDocument();
myXML.ignoreWhite=true;
myXML.parseXML(result.toXMLString());
var node:XMLNode=myXML.firstChild;
var n:int=node.childNodes.length;
var itinerary_names_array:Array=new Array;
for(var i:int=0;i<n;i++)
{
itinerary_names_array.push(node.childNodes*.attributes['name']);
var questions_array:Array=new Array();
var hint_a_array:Array=new Array();
var hint_b_array:Array=new Array();
var s:int=node.childNodes*.childNodes.length;
for(var j:int=0;j<s;j++)
{
questions_array.push(node.childNodes*.childNodes[j].attributes['q']);
hint_a_array.push(node.childNodes*.childNodes[j].attributes['hint_a']);
hint_b_array.push(node.childNodes*.childNodes[j].attributes['hint_b']);
}
my_array.push(questions_array);
my_array.push(hint_a_array);
}
my_array.push(itinerary_names_array);
trace("Itineraries: " + itinerary_names_array[2] +"
");
trace("Question: “+ questions_array[2] +”
");
trace("Hint 1: “+ hint_a_array[2] +”
");
trace("Hint 2: “+ hint_b_array[2] +”
");
}
}
}
In FLA I tried to get the values on Button click with the following code
character1_btn.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
trace("Question: “+ questions_array[2] +”
");
}
But I got the error ‘1046: Type was not found or was not a compile-time constant: MouseEvent.’
*Can someone help?