1137:参数数量不正确。预期不超过0.语句从教程复制但不起作用

时间:2013-09-23 15:36:02

标签: actionscript-3 flash-cs3

我正在关注adobe教程,其中我们创建了一个文本字段,我在其中更新的文本来自函数sayHello()

import flash.display.MovieClip
import flash.display.MovieClip; 
import flash.display.Sprite;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.events.TextEvent;
import flash.text.TextField;
    var myGreeter:Greeter = new Greeter();
    mainText.text = myGreeter.sayHello("Bob");

这是在第一帧写的^^^^^

SayHello函数位于同一文件夹中的其他actionscript文件中,代码如下

package
{
    import flash.display.MovieClip;
public class Greeter
{
public function sayHello():String
{
var greeting:String;
greeting = "Hello World!";
return greeting;
}
}
}

也许有人会问你是否在舞台上放了一个TextField并给它一个实例名称,答案是肯定的。

我遵循的教程我不知道为什么在告诉代码后告诉我们正确的错误,如果有,所以有可能他们想要训练我们。

我自己和绿色班级有点混淆,为什么我们写

sayHello("Bob")

为什么不

sayHello()

我这样说是因为变量只有字符串hellow world与那个人Bob有什么关系

如果你能解释我,那将是你的一种,

我问这也是因为我还需要完全理解代码。

2 个答案:

答案 0 :(得分:0)

我不确定,但您可能在教程中混淆了两个步骤。根据您对sayHello的定义,您应该致电

sayHello();

要使函数接受参数,您需要定义函数以获取参数:

public function sayHello(user:String):String {
    return "Hello, " + user + "!";
}

然后你会打电话:

sayHello('Hamza');

它会返回

"Hello, Hamza!"

答案 1 :(得分:0)

简而言之:“教程错误或不完整”。你用一个参数调用sayHello,但是声明你没有使用参数。并且编译器会为此调用提供正确的错误。