【发布时间】:2014-02-04 03:01:43
【问题描述】:
我在一个类中尝试了以下代码行,但它导致了错误消息。
textbox1.text = this.attribute1;
错误描述:1120:未定义属性 textbox1 的访问。
【问题讨论】:
标签: actionscript-3 class package undefined textfield
我在一个类中尝试了以下代码行,但它导致了错误消息。
textbox1.text = this.attribute1;
错误描述:1120:未定义属性 textbox1 的访问。
【问题讨论】:
标签: actionscript-3 class package undefined textfield
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();
【讨论】:
感谢您的帮助!但是,我设法通过clickHandler function 中的以下两行代码访问和更改我的文本字段的文本。
var r:MovieClip = MovieClip(root);
TextField(r["textbox1"]).text = this.navn;
尽管我没有完全理解您的代码,但我猜它涉及为我的类中的每个对象创建一个文本字段?
顺便说一句,按照您的建议,我将继续阅读课程。 :) 再次感谢。
【讨论】: