Constructor in document class runs twice?
Hi Folks,
I'm working on my document class and the contructor is running twice, hence it is running almost all of my code twice. I'm not quite sure why this is the case. Any help is appreciated.
I've attached my code below.
package {
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.*;
import flash.geom.*;
import flash.net.*;
import flash.utils.getDefinitionByName;
public class ASIFL048_DND extends MovieClip {private var startDragX:Number = new Number();
private var startDragY:Number = new Number();
private var xmlPath:String = "../ObjectFiles/xmlIFL0480016.xml";
private var itemList:Array = new Array();
private var targetList:Array = new Array();
private var gameArray:Array = new Array();
private var myXML:XML = new XML();
private var myTargetName:String = new String();
private var XMLLoader:URLLoader = new URLLoader();
private var XMLRequest:URLRequest = new URLRequest(xmlPath);
trace("RUNNING ONCE!");public function ASIFL048_DND() {
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
XMLLoader.addEventListener(Event.COMPLETE, completeHandler);
trace("RUNNING TWICE?");
loadXML();
}
private function loadXML():void {
//var XMLLoader:URLLoader = new URLLoader();
//var XMLRequest:URLRequest = new URLRequest(xmlPath);
XMLLoader.load(XMLRequest);
//XMLLoader.addEventListener(Event.COMPLETE, completeHandler);
}
private function completeHandler(e:Event):void {
myXML = XML(e.target.data);
var i:int = 0;
var j:int = 0;
for each (var item:XML in myXML..equip) {
itemList = item.@name;
for each (var target:XML in item..myTarget) {
targetList= [i,target];
j++;
}
i++;
}
//trace(targetList);
selectDragItems(10);
}
private function selectDragItems(gameLength:int):void {
var randomSeed:Number = new Number();
var randomItem:Number = new Number();
for (var k:int = 0; k<gameLength; k++) {
randomSeed = targetList.length;
randomItem = Math.floor(Math.random() * targetList.length);
gameArray = targetList.splice(randomItem, 1);
trace(gameArray+"\n");
//display game array
//trace("CLASS:\t"+itemList[gameArray[0][0]]);
//var ClassReference:Class = getDefinitionByName(itemList[gameArray[0]]) as Class;
//var instance:Object = new ClassReference();
//addChild(DisplayObject(instance));
}
}
private function mouseDownHandler(e:MouseEvent):void {
startDragX = e.target.x;
startDragY = e.target.y;
trace(startDragX + " " + startDragY);
e.target.startDrag(true,new Rectangle(e.target.width/2,e.target.height/2, stage.stageWidth-e.target.width, stage.stageHeight-e.target.height));
}private function mouseUpHandler(e:MouseEvent):void {
stopDrag();
myTargetName = "fwdLHWindscreen_mc";
var myTarget:DisplayObject = getChildByName(myTargetName);
//trace(" TARGET VAR: "+myTarget.name);
if (e.target.dropTarget != null && e.target.dropTarget.parent == myTarget) {
trace("correct");
e.target.x = e.target.dropTarget.parent.x;
e.target.y = e.target.dropTarget.parent.y;
e.target.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
e.target.removeEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
} else {
trace("incorrect");
e.target.x = startDragX;
e.target.y = startDragY;
}
}
}}