Показать сообщение отдельно
Старый 10.09.2010, 13:54
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 7  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от -De- Посмотреть сообщение
По-моему в вашем тексте можно заменить "динамические свойства" на getChildByName %) Но его хоть явно видно, когда используют.
Я рассуждал на тему динамических свойств не относительно этого примера, а в целом.
Но если уж быть дотошным, то правильнее было-бы написать нечто вроде этого:

Код AS3:
package {
 
 
   class MyClass extends Sprite {
 
      private var _myArray:Array;
 
      public function MyClass() {
 
       _myArray = ["Link 1", "Link 2", "Link 3", "Link 4", "Link 5", "Link 6"];
 
       for(var i:int = 0; i < myArray.length; i++) {
           var btn:MyBtn = new MyBtn(_myArray[i] as String);
           btn.y = 30*i;
           btn.addEventListener(MouseEvent.CLICK, buttonClickHandler);
           addChild(btn);
       }
 
      }
 
      private function buttonClickHandler(event:MouseEvent):void {
         var btn:MyBtn = event.currentTarget as MyBtn;
         trace('clicked text:', btn.link);
      }
   }
 
   class MyBtn extends Sprite {
 
      private var _link:String;
 
      public function MyBtn(link:String) {
         _link = link;
         var tf:TextField = new TextField();
         tf.autoSize = TextFieldAutoSize.LEFT;
         tf.border = true;
         tf.text = link;
         addChild(tf);
      }
 
      public funciton get link():String {
          return _link;
      }
   }
}
__________________
#flasher@irc.trg.ru:6667