如何从包/类访问动态文本字段?

时间:2014-02-02 10:32:22

标签: actionscript-3 class package undefined textfield

我在一个类中尝试了以下代码行,但它会导致错误消息。

textbox1.text = this.attribute1;

错误描述:1120:访问未定义的属性textbox1。

2 个答案:

答案 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;

即使我没有完全理解你的代码,我想它还涉及为我班级中的每个对象创建一个文本字段?

顺便说一下,按照你的建议,继续读课。 :) 再次感谢。