Actionscript 3 在函数外使用变量。错误-参数数量不正确。预期1
我有以下代码,因此可以在另一个函数中使用var“qst”。但是当我运行它时,我得到一个错误 “1136:参数数量不正确。此行按钮()应为1” 是否必须在button()中输入参数;为了让它起作用? 非常感谢Actionscript 3 在函数外使用变量。错误-参数数量不正确。预期1,actionscript-3,compiler-errors,Actionscript 3,Compiler Errors,我有以下代码,因此可以在另一个函数中使用var“qst”。但是当我运行它时,我得到一个错误 “1136:参数数量不正确。此行按钮()应为1” 是否必须在button()中输入参数;为了让它起作用? 非常感谢 var myDateDay:Date = new Date(); var dayNumber:int = myDateDay.day; var qst:XML; var qstLoader:URLLoader = new URLLoader(); qstLoader.load(new URL
var myDateDay:Date = new Date();
var dayNumber:int = myDateDay.day;
var qst:XML;
var qstLoader:URLLoader = new URLLoader();
qstLoader.load(new URLRequest("default.qst"));
qstLoader.addEventListener(Event.COMPLETE, processQST);
// Process QST file;
function processQST(e:Event):void {
qst = new XML(e.target.data);
trace(qst);
button();
}
myButton.addEventListener(MouseEvent.CLICK, button);
function button(event:MouseEvent):void {
var question:XMLList = qst.question.(@day == dayNumber).text;
trace(question);
}
由于您希望您的“按钮”既能从外部调用,又能对事件做出反应,因此需要为其分配一个Event类型的参数。因此,要么像按钮(null)那样调用它代码>或对声明进行调整,如下所示:
function button(event:MouseEvent=null):void {...}
并像调用零参数函数一样调用它。谢谢@Vesper。我试试看。我希望var“qst”可以在processQST函数之外使用,这就是我发现可以做到的;它不等待按钮被点击,而是直接运行第二个函数。在这种情况下,您的过程分为两个阶段,首先加载qst,然后按下按钮。您可以使用其“enabled”属性、内部标志、qst数据的可用性或仅在processQST函数中添加侦听器。这两种方法都可能适用于您的情况,但您需要澄清这一点。另外,如果您在button()函数中实际收到了正确的数据,那么您的QST是可用的,否则这也需要更多的说明。