诡异的flash as3.0 1037报错,求解!

来源:百度知道 编辑:UC知道 时间:2024/09/26 01:21:49
.fla文件第一帧代码,其中,mainText是场景中的一个动态文本对象:
include "Greeter.as";
myGreeter:Greeter = new Greeter();
mainText.text = myGreeter();

.as文件中的代码:
package
{
public class Greeter
{
public function sayHello():String
{
var greeting:String;
greeting = "Hello World!";
return greeting;
}
}
}

你用as2.0的语法来写as3.0,当然不正确了

1)include是as2.0导入外部as文件的写法,as3.0里要用import,如果类文件和fla文件同目录,可省略。

2)as3.0里,每个类文件,都需要有一个构造函数,而你的Greeter.as类文件中没有构造函数。

修改如下:
import Greeter; //类文件与fla文件在一起时候,本句可省
var myGreeter:Greeter = new Greeter();
mainText.text = myGreeter.sayHello();

//-------------------------------------
//Greeter.as
//-------------------------------------
package {
public class Greeter {

public function Greeter():void {
//这是Greeter类的构造函数
}
public function sayHello():String {
var greeting:String;
greeting="Hello World!";
return greeting;
}
}
}

这里没有构造函数。。。
Greeter.as跟.fla放在同目录下不需要import语句
应该这样写
var myGreeter:Greeter=new Greeter();
mainText.text=myGreeter.sayHello();

构造函数只能是
function Gretter()
{
}

不知道啊.我不知道include你用得对不对,我们一般是用import导入的,不太会使include,但是,你的构造函数应该是有问题的噢~~~~~