Показать сообщение отдельно
Старый 10.06.2010, 20:08
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Дело не в этом. static - указывает на статичный блок памяти, т.е. он один для всего класса (не экземпляров, а именно класса).
Конечно, у класса нет контейнера - и addChild`а просто напросто не существует в этом скоупе, если Вы, конечно, не определили его, например вот так:
Код AS3:
internal static function addChild(child:DisplayObject)
Пример написанный выше - это лишь пример, так делать не нужно и неправильно. Во всяком случае в 99% случаев, те кто так сделают будут четко знать, зачем им это.

Добавлено через 1 минуту
Чтобы было более понятно:
Код AS3:
var spr:Sprite=new Sprite(); //создали экземпляр класса
spr.addChild(new Shape()); //добавили новый экземпляр класса шейп в дисплей лист spr. addChild НЕ static функция, поэтому всё ок. Чтобы вызвать addChild нам нужен был экземпляр класса, который создали выше.
Math.cos(Math.PI/4); //А вот тут мы экземпляров класса не создавали, потому что метод cos и поле PI - статичные.