|
|
|||||
Вот что я имел ввиду. Если бы все было так просто и очевидно... Но по ходу без небольшого костыля - никуда.
package modules.scrollbar { import flash.utils.describeType; /** * ... * @author TanaTiX - Nikonov Anton */ public class ScrollerUtil { public static const READ_ONLY:String = "readonly"; public static const WRITE_ONLY:String = "writeonly"; public static const READ_WRITE:String = "readwrite"; public function ScrollerUtil() { } public static function checkProperty(target:Object, parameter:String, access:String = READ_WRITE):Boolean { var xml:XML = describeType(target); if (parameter in target) { if (access === READ_ONLY) { return true; } for each(var item:XML in xml.accessor) { if (item.@name == parameter) { if (item.@access === READ_WRITE) { return true; } if (access === WRITE_ONLY && item.@access === access) { return true; } return false; } } } return false; } } }
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
GBee, а каким образом в данном случае поможет интерфейс?
Цитата:
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Цитата:
Цитата:
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Это не небольшой, это эпических размеров костыль. Который не только не удобен, но и опасен. Пользуйтесь интерфейсами, это удобно, красиво и понятно всем.
|
|
|||||
Я лично не очень понял, что Вы хотите в итоге. Но костыль это еще пол беды, вторая половина, это то, что describeType жутко медленный (оно и понятно). Во флексе даже кэш для этой функции есть, я бы не стал использовать ее без явной на это необходимости.
__________________
http://www.chessmax.ru |
|
|||||
Цитата:
Inet_PC, то что медленный - знаю, но с другой стороны на один скролл он будет использоваться только один раз, что я считаю допустимым. Ну и если Bgg (или кто-нибудь другой) предложит достойную альтернативу - буду только рад воспользоваться хорошей идеей.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! Последний раз редактировалось TanaTiX; 03.12.2011 в 02:24. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
@TanaTiX, это понятно.
Приведи примеры где ты это будешь использовать, чтобы понять, в чем выгода.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
как вариант
myScroller = new MyScroller(target:IScrollable, ...arg) public interface IScrollable { function get height():Number; function set height(value:Number):void; ...... } Тоесть объект который вы отдаете скроллеру должен имплементить этот интерфейс, и значит должен иметь сеттер/геттер height например
__________________
мира и гармонии |
|
|||||
3p.station, Psycho Tiger, хочется немного другого. Хочется не создавать n-е количество разных скроллов (вертикальных, горизонтальных, радиальных и еще хз каких придумает воспаленный мозг). Хочется задать базовый объект (ползунок), его минимальное и максимальное значение и свойство. Т.е. для горизонтального скролла это примерно должно выглядеть так:
//создание скролла var horizontalScroll:Scroll = new Scroll(someMovieClip, "x", 100, 250); //конструктор public function Scroll(target:DisplayObject, value:String, minValue:Number, maxValue:Number) А то что касается определения определения наличия свойства - это для защиты от дурака.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
Часовой пояс GMT +4, время: 15:17. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|