【发布时间】:2013-07-29 16:35:57
【问题描述】:
我收到此错误,但我的函数应该接受 6 个参数?!? 有人知道会发生什么吗?
Starting Test
ArgumentError: Error #1063: Argument count mismatch on edu.clips2.movieclip::ubContainerSimple$/create(). Expected 1, got 6.
at Function/http://adobe.com/AS3/2006/builtin::apply()
at edu.clips2.ui::ubButtonSimple$/create()[/Volumes/Work/CLIPS Repo/classes/as3/edu/clips2/ui/ubButtonSimple.as:79]
at edu.ewins.wrapper::ActivityHelpingHandButton()[/Volumes/Work/CLIPS Repo/classes/as3/edu/ewins/wrapper/ActivityHelpingHandButton.as:34]
at edu.ewins.wrapper::ActivityHelpingHandButton$/create()[/Volumes/Work/CLIPS Repo/classes/as3/edu/ewins/wrapper/ActivityHelpingHandButton.as:52]
at test::AS3Test/init()[/Volumes/Work/CLIPS Repo/classes/as3/test/AS3Test.as:67]
at test::AS3Test()[/Volumes/Work/CLIPS Repo/classes/as3/test/AS3Test.as:63]
这是函数签名
package edu.clips2.movieclip {
...
public class ubContainerSimple {
...
public static function create(parent:DisplayObjectContainer, instanceName:String= null, depth:Number=-1, mcProps:Object=null, linkageName:String= null):MovieClip {
...
}
为了简单起见,这里大概是发生了什么......
ubButtonSimple 采用了这个数组:
var a:Array = [ubContainerSimple, [target, "foregroundContainer", 6, {x:0, y:0}, {alpha:1, rotation:0, scaleX:0.4, scaleY:0.4, x:6, y:11}, "HelpingHand"]];
然后调用
a[0].create.apply(null, a[1]);
【问题讨论】:
-
您能在调用该函数时显示您正在使用的代码吗? (我数了 5 个参数)
-
当然是非常简单的事情!我缺少一个参数,当我添加缺少的参数时它可以工作。不知道为什么它说期望 1 而不是 5。这真的让我失望了。
-
现在我的函数是
public static function create(parent:DisplayObjectContainer, instanceName:String=null, depth:Number=-1, mcProps:Object=null, linkageProps:Object=null, linkageName:String=null):MovieClip {,它可以工作了! -
@JohanLindkvist 如果您想将其发布为解决方案,我可以将其标记为正确并给予您信任。感谢您的帮助。
-
那我会做的比:)
标签: actionscript-3 flash arguments flash-cs6