gpt4 book ai didi

actionscript-3 - AS3 参数

转载 作者:行者123 更新时间:2023-12-04 06:53:57 24 4
gpt4 key购买 nike

为什么您认为下面的代码不起作用?您会更改/添加什么以使其正常工作?

感谢任何帮助..

function TraceIt(message:String, num:int)
{
trace(message, num);
}

function aa(f:Function, ...args):void
{
bb(f, args);
}

aa(TraceIt, "test", 1);

var func:Function = null;
var argum:Array = null;

function bb(f:Function, ...args):void
{
func = f;
argum = args;
exec();
}

function exec()
{
func.apply(null, argum);
}

我收到一个 ArgumentError(错误 #1063):

Argument count mismatch on test_fla::MainTimeline/TraceIt(). Expected 2, got 1.

..所以,传递的参数 (argum) 无法提供所有传递的参数..

..请保持函数结构(流量)完好无损..我需要一个以相同顺序使用相同函数的解决方案..我必须将 args 传递给变量并在上面的 exec() 方法中使用它们。 .

问候

最佳答案

好吧,这就是解决方案.. 在打破我的头脑之后:)

    function TraceIt(message:String, num:int)
{
trace(message, num);
}

function aa(f:Function=null, ...args):void
{
var newArgs:Array = args as Array;
newArgs.unshift(f);
bb.apply(null, newArgs);
}

aa(TraceIt, "test", 1);

var func:Function = null;
var argum:*;

function bb(f:Function=null, ...args):void
{
func = f;
argum = args as Array;
exec();
}

function exec():void
{
if (func == null) { return; }
func.apply(this, argum);
}

这样,您可以将参数作为变量传递给不同的函数并执行它们。

感谢大家花时间帮助...

关于actionscript-3 - AS3 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/972460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com