Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在函数外使用变量。错误-参数数量不正确。预期1_Actionscript 3_Compiler Errors - Fatal编程技术网

Actionscript 3 在函数外使用变量。错误-参数数量不正确。预期1

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“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 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是可用的,否则这也需要更多的说明。