我正在学习有关动态类的教程。这个概念对我来说非常令人兴奋和有趣。
但是这段代码没有正确编译
dynamic class Person {
var name:String;
}
Person p= new Person();
p.name=”Joe”;
p.age=25;
p.printMe = function () {
trace (p.name, p.age);
}
p.printMe(); // Joe 25
我收到1071语法错误。
是什么给出了?
答案 0 :(得分:4)
语法错误; Person p = new Person();
无效AS3。它应该是var p:Person = new Person();"
编辑1: 此外,当然,如果您将代码按原样放入时间线中,它将无法正常工作。该类必须位于.as文件中,其他代码必须位于时间轴中(或类函数中)。
编辑2: 此代码有效:
//Timeline:
var p:Person = new Person();
p.name="Joe";
p.age=25;
p.printMe = function () {
trace (p.name, p.age);
}
p.printMe(); // Joe 25`
Person.as的样子:
package {
public dynamic class Person {
var name:String;
}
}
答案 1 :(得分:1)
我现在无法测试它,但看起来您的代码段中有两个错误。首先,变量声明和第二个字符串引号(您使用”
而不是"
)。以下代码应该工作:
var p:Person = new Person();
p.name = "Joe";
p.age = 25;
p.printMe = function() {
trace (p.name, p.age);
}
p.printMe(); // Joe 25