|
|
|||||
Регистрация: Mar 2009
Сообщений: 357
|
глобальный запрет табуляции
как запретить табуляцию для всех объектов сразу? есть свойство tabEnabled, но оно действует если его вызвать у конкретного объекта.
|
|
|||||
Modus ponens
|
Положить спрайт где-нибудь на сцене, поставить ему самый маленький таб индекс, ну и когда на него перейдет фокус увеличить индекс в нем на единицу Не знаю, звучит не ахти, но по-другому - вряд ли
__________________
Hell is the possibility of sanity |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Выключите tabEnabled и tabChildren у рута.
|
|
|||||
Регистрация: Mar 2009
Сообщений: 357
|
не удается выключить. выключаю в подключаемом классе. в него передана ссылка на root из основного. пишет:
1119: Access of possibly undefined property tabEnabled through a reference with static type flash.display:DisplayObject. в подключаемом классе: private var roots:DisplayObject; ... public function SecondClass(root_ref:DisplayObject):void { roots = root_ref; roots.tabEnabled = false; } но фокус все равно передается и табуляция работает. что не так? Последний раз редактировалось loover; 23.03.2009 в 23:35. |
|
|||||
Modus ponens
|
Вам нужно привести DisplayObject к InteractiveObject (это к варианту __etc). Мой вариант - хуже, не делайте так.
Если захочется поэксперементировать - такой вариант var button0:Sprite = drawSprite(); button0.tabIndex = int.MAX_VALUE; var button1:Sprite = drawSprite(); button0.addEventListener(FocusEvent.FOCUS_IN, lockTab); function lockTab(event:FocusEvent):void { } function drawSprite():Sprite { var sprite:Sprite = new Sprite(); with (sprite.graphics) { beginFill(Math.random() * 0xFFFFFF); drawRect(-50, -50, 100, 100); endFill(); } sprite.x = stage.stageWidth * Math.random(); sprite.y = stage.stageHeight * Math.random(); sprite.buttonMode = true; return addChild(sprite) as Sprite; }
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 24.03.2009 в 02:57. |
|
|||||
Регистрация: Mar 2009
Сообщений: 357
|
спасибо, приведение типов сработало. но теперь ругается на tabChildren:
private var roots:DisplayObject; private var rootss:InteractiveObject; ... rootss = roots as InteractiveObject; ... rootss.tabEnabled = false; rootss.tabChildren = false; ... 1119: Access of possibly undefined property tabChildren through a reference with static type flash.display:InteractiveObject. |
|
|||||
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
А теперь заведите переменную rootsss и приведите rootss к MovieClip
Но лучше давать переменным осознанные имена, или приводить типы на лету: |
|
|||||
Регистрация: Mar 2009
Сообщений: 357
|
я совсем запутался с этим приведением типов. теперь другая ошибка:
|
|
|||||
Регистрация: Mar 2009
Сообщений: 357
|
да! теперь все работает. спасибо Яски и другим участникам обсуждения.
|
Часовой пояс GMT +4, время: 08:40. |
|
« Предыдущая тема | Следующая тема » |
|
|