Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.03.2009, 01:56
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 1  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
По умолчанию глобальный запрет табуляции

как запретить табуляцию для всех объектов сразу? есть свойство tabEnabled, но оно действует если его вызвать у конкретного объекта.

Старый 23.03.2009, 02:33
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Положить спрайт где-нибудь на сцене, поставить ему самый маленький таб индекс, ну и когда на него перейдет фокус увеличить индекс в нем на единицу Не знаю, звучит не ахти, но по-другому - вряд ли
__________________
Hell is the possibility of sanity

Старый 23.03.2009, 08:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Выключите tabEnabled и tabChildren у рута.

Старый 23.03.2009, 21:53
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 4  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
не удается выключить. выключаю в подключаемом классе. в него передана ссылка на root из основного. пишет:
Код AS3:
1119: Access of possibly undefined property tabEnabled through a reference with static type flash.display:DisplayObject.
в основном классе:
Код AS3:
public var zzz:SecondClass;
zzz = new SecondClass(root);
addChild(zzz);
в подключаемом классе:
Код AS3:
private var roots:DisplayObject;
...
public function SecondClass(root_ref:DisplayObject):void
{
   roots = root_ref;
   roots.tabEnabled = false;
}
wvxvw, я сделал так:
Код AS3:
up_btn.addEventListener(FocusEvent.FOCUS_IN, lockTab);//up_btn первой получает фокус
...
private function lockTab(e:FocusEvent):void
	{
		up_btn.tabIndex ++;
	}
но фокус все равно передается и табуляция работает. что не так?


Последний раз редактировалось loover; 23.03.2009 в 23:35.
Старый 24.03.2009, 02:47
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Вам нужно привести DisplayObject к InteractiveObject (это к варианту __etc). Мой вариант - хуже, не делайте так.
Если захочется поэксперементировать - такой вариант
Код AS3:
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.
Старый 24.03.2009, 18:13
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 6  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
спасибо, приведение типов сработало. но теперь ругается на tabChildren:
Код AS3:
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.

Старый 24.03.2009, 19:12
litebox вне форума Посмотреть профиль Отправить личное сообщение для litebox Найти все сообщения от litebox
  № 7  
Ответить с цитированием
litebox
 
Аватар для litebox

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
А теперь заведите переменную rootsss и приведите rootss к MovieClip
Но лучше давать переменным осознанные имена, или приводить типы на лету:
Код AS3:
(roots as MovieClip).tabEnabled = false;
(roots as MovieClip).tabChildren = false;

Старый 24.03.2009, 22:45
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 8  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
я совсем запутался с этим приведением типов. теперь другая ошибка:
Код AS3:
Error #1009: Cannot access a property or method of a null object reference.

Старый 24.03.2009, 22:56
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 9  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Какой нафиг MovieClip, если это не Мувиклип?
Приводи к DisplayObjectContainer

Старый 24.03.2009, 23:04
loover вне форума Посмотреть профиль Отправить личное сообщение для loover Найти все сообщения от loover
  № 10  
Ответить с цитированием
loover
 
Аватар для loover

Регистрация: Mar 2009
Сообщений: 357
да! теперь все работает. спасибо Яски и другим участникам обсуждения.

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:40.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.