Flash getter方法无法返回2D数组

时间:2015-09-17 00:43:25

标签: arrays actionscript-3 flash multidimensional-array

正如标题所说。我尝试使用String或普通数组,它可以工作。但是当我试图传递我的2D数组时,我的课程却没有得到任何结果。我们谈论的是Array 16宽度和大约50的长度。

在我的XMLLoader.as类中,我有这个:

function getConvoArray():Array
    {
        trace("convoArray send");
        return convoArray;
    }

在我的DialogueGenerator.as课程中,我有这个:

xmlLoader = new XMLLoader("ConvoLines.xml");
convoArray = xmlLoader.getConvoArray();

我通过在for循环中跟踪它来检查变量convoArray是否在XMLLoader.as类中填充;它完美地运作。但是,当我尝试将它传递给DialogueGenerator.as类时,它似乎是空的。我不能过多的东西,Flash也不会给我一个错误或警告。

我只是将DialogueGenerator中的数组声明为:

public var convoArray:Array;

但我尝试了不同的方法来宣布它。

有解决方案吗?解决方法?

1 个答案:

答案 0 :(得分:0)

对于加载xml,我使用类似的东西......

var fileName:String = "ConvoLines.xml";
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, LoaderComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, LoaderError);
loader.load(new URLRequest(fileName + "?rnd=" + Math.random())); 
// we affix rand to prevent it from caching the file, 
// you don't have to add the ? variable if you aren't worried about it     
// updating smoothly

然后在" LoaderComplete"函数我们只是把xml拿出来。希望有所帮助。

var convoXML:XML = new XML(event.target.data);