我在一个类中尝试了以下代码行,但它会导致错误消息。
textbox1.text = this.attribute1;
错误描述:1120:访问未定义的属性textbox1。
答案 0 :(得分:0)
package yourpackage
{
public class MyClass
{
public var dynamicText:TextField;
public function MyClass(){
dynamicText = new TextField();
}
}
}
现在您可以从此课程中创建新的instance
:
package yourpackage
{
public class MyOtherClass
{
public var myInstance:MyClass;
private var attribute1:int = 0;
public function MyOtherClass(){
myInstance = new MyClass(); //create new instance
myInstance.dynamicText.text = String(attribute1); //set the text of it's
//dynamicText textfield's text to the attribute you want
}
}
}
您得到的错误实际上表示textbox1
不是当前上下文中的已定义变量,或者访问修饰符是私有的,因此您无法仅从类中访问它。您可以创建static
变量,您可以从以下任何位置访问这些变量:
MyClass.dynamicText.text = "something";
上述代码假定您将dynamicText
声明为static
变量。
public static var dynamicText:TextField = new TextField();
答案 1 :(得分:0)
感谢您的帮助!但是,我设法通过clickHandler function
内的以下两行代码访问和更改文本字段的文本。
var r:MovieClip = MovieClip(root);
TextField(r["textbox1"]).text = this.navn;
即使我没有完全理解你的代码,我想它还涉及为我班级中的每个对象创建一个文本字段?
顺便说一下,按照你的建议,继续读课。 :) 再次感谢。