调用函数时出错 属性 AS3

Error is calling a function a property AS3

C:...\HandleXML.as, Line 28 1120: Access of undefined property processXML.

为什么?...这不是我的文档 class,但其中没有调用此 class 的内容。当我把它放在我的文档 class 中时它起作用了,但我试图将文档 class 分成多个 classes。无论我读什么,拥有多个 classes 对我来说仍然很奇怪。

package  {

    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.events.KeyboardEvent;
    import flash.xml.*;
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.net.FileReference;
    import flash.net.FileFilter;

    public class HandleXML {

        public static var mapXML:XML;
        public var saveXML:XML;
        public var file:FileReference; 
        public var fileLoader:URLLoader;
        public var saveFile:FileReference; 

        public function HandleXML() 
        {
            // constructor code
        }
        public static function UseGeneric()
        {
            var myLoader:URLLoader = new URLLoader();
            myLoader.load(new URLRequest("Maps/TestMap.xml"));
            myLoader.addEventListener(Event.COMPLETE, processXML);
        }

        public function loadFileDialogue():void 
        { 
            file =  new FileReference();   
            var xmlFileTypes:FileFilter =  new FileFilter("XML (Maps/*.xml)",  "Maps/*.xml;");   
            file.browse();
            file.addEventListener(Event.SELECT, selectFile);
        }

        public function selectFile(e:Event):void 
        { 
            file.addEventListener(Event.COMPLETE, loadFile); 
            file.load();
        }

        function loadFile(e:Event):void 
        { 
            fileLoader =  new URLLoader();
            fileLoader.load(new URLRequest("Maps/"+file.name));
            fileLoader.addEventListener(Event.COMPLETE, processXML);
        }

        public function processXML(e:Event)
        {
            mapXML = new XML(e.target.data);
            ParseIntoArray();
        }

        public function SaveFile():void
        {
            BuildSaveXML();
            saveFile = new FileReference(); 
            saveFile.save((saveXML), "SavedXML.xml");
        }

        public function BuildSaveXML()
        {
            var xmlOutput:String =  "<Map>" + 
                                    "<MapWidth>" + mapXML.MapWidth + "</MapWidth>" +
                                    "<MapHeight>" + mapXML.MapHeight + "</MapHeight>" +
                                    "<ROW>" + Engine.mapArray.toString()+"</ROW>" + 
                                    "</Map>";

            saveXML = new XML(xmlOutput);
        }

        public function ParseIntoArray()
        {
            var tempArray:Array = new Array();
            var tempStr:String = mapXML.ROW.toString();

            tempStr = tempStr.replace(/<ROW>/g, "");
            tempStr = tempStr.replace(/<\/ROW>/g, "");

            tempArray.push(tempStr.split(","));

            for(var i:int = 0; i < mapXML.MapHeight; i++)
            {
                Engine.mapArray[i] = [];

                for(var j:int = 0; j < mapXML.MapWidth; j++)
                {
                    Engine.mapArray[i].push(tempArray[0].shift());
                }
            }
        }
    }
}

正如您所指出的,UseGeneric 函数在不应该声明为静态时被声明为:

public function UseGeneric()
{
    var myLoader:URLLoader = new URLLoader();
    myLoader.load(new URLRequest("Maps/TestMap.xml"));
    myLoader.addEventListener(Event.COMPLETE, processXML);
}