Просмотр полной версии : Структура SimpleButton
При изобретении собственного велосипеда в образовательных целях полез в SimpleButton. По логике (и так описывается в доке) этот класс является наследником DisplayObjectContainer, следовательно обладает свойством mouseChildren. Но ни в автокомплите, ни при насильном пропихиваниипрописывании свойства нет положительного результата: сообщение об ошибке, об отсутствии такого свойства.
Да, я знаю о кривости стандартных компонентов, вопрос не об этом. Интересует как и зачем? Возможно ли по аналогии отключать ненужные свойства других объектов? Интерес исключительно академического свойства. Спасибо.
Да просто переопределить методы addChild, addChildAt и тп, чтобы выбрасывали ошибку.
Ну а контейнер-то она контейнер, Вы же не будете с этим спорить))) Стейты же она содержит)) Просто добавление содержимого реализовано по-своему, в соответствии с задачей класса. Иначе напихают что попало, и получится уже не кнопка совсем))
Если бы это было просто переопределение, то тогда свойство бы все равно было. А получается, что его физически нет. Так?
Upd. Сейчас перепроверил. Автокомплит с этим свойством не работает только в IDE, т.е. ограничение стоит на уровне IDE, а не подключаемой библиотеки.
Aquahawk
26.03.2012, 22:37
Вот тут (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/display/SimpleButton.html) указаноКласс SimpleButton наследует методы и свойства класса InteractiveObject.
Начиная с версии проигрывателя 11.1 и версии среды AIR 3.1, класс SimpleButton наследуется от класса DisplayObjectContainer. Из этого я могу предположить что раньше он не был контейнером.
Что-то я не о том ответил, да? Точу тут зубы о свой Лейаут, и как раз меня больше эти наследуемые addChild'ы беспокоят)) Но смысл в общем тот же. Оверрайд.
Добавлено через 6 минут
О__о Вот это я проспал.. В SimpleButton теперь даже можно добавлять addChild'ом... Куда мир катится..
Добавлено через 10 минут
И да, в FD c mouseChildren все нормально – и автокомплит есть, и ошибок нет. При компиляции под FP 11.1, естественно.
Больше этой строчки в хелпе (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/display/SimpleButton.html) нету.
Может они так заранее 1 апреля отмечали?
Угу, у нас как-то проблемы были с тем, что он is DisplayObjectContainer
Это в 11.1 было. ФД компилит например с SimpleButton#addChild(), если проект для 11.1
Но плеер 11.2 уже ругается на это. Ну и компилятор ругается, если под 11.2 компилить))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.