正如标题所说。我尝试使用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;
但我尝试了不同的方法来宣布它。
有解决方案吗?解决方法?
答案 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);