Структура класса в ActionScript - PullRequest
0 голосов
/ 28 марта 2012

У меня есть класс Person, то есть определение Person с именем и возрастом. Суперкласс - это основной класс. Я хочу отобразить имя и возраст в текстовом поле документа Flash.

Я новичок во Flash. Что-то не так в структуре классов или в соглашениях по кодированию. Выдает ошибку «Вызов возможно неопределенного метода addChild».

package  {
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.text.TextField;

    public class SuperbClass extends Sprite{
        public function SuperbClass() {
        var p1=new Person("Brinda",30); 

        }
    }   
}
import flash.text.TextField;
 class Person {  
     private var name:String;
     private var age:Number;
     var tf:TextField;      
     public function Person(n:String,a:Number){
         name=n;
         age=a;
         init();
     }
     public function init():void{
         trace(name+' is '+age+' year old');    
         tf=new TextField();
         tf.text=name+' is '+age+' year old';
         addChild(tf);
     }
 }

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Ваш класс Person является объектом данных и не должен пытаться выполнять операции просмотра.

Итак:

protected var p1:Person;
protected var tf:Textfield;

public function SuperbClass() {
   p1 = new Person('Brenda', 30);
   tf = new TextField();
   tf.text = p1.name + ' is ' + p1.age + ' years old.';
   addChild(tf);//SuperBClass extends Sprite, so this works
}

Обратите внимание, что вам потребуется сделать переменные Person общедоступными, чтобы вышеприведенный код работал. Кроме того, вы можете создать метод получения для Person, который возвращает всю строку:

public function get info():String {
   return name + ' is ' + age +  ' years old.';
}

Вы бы назвали это как:

tf.text = p1.info;
0 голосов
/ 28 марта 2012

Вашему классу нужно расширить Movieclip или Sprite или что-то, что имеет метод addChild.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...