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

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

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

Регистрация: Nov 2009
Сообщений: 124
По умолчанию Непонятки с setChildIndex

На сцене 4 UILoader
код
Код AS3:
Object(root).l1.load(new URLRequest("http://***/images/trava.png"));
Object(this).setChildIndex(l1,0);
l1.addEventListener(MouseEvent.CLICK,cl);
 
 
Object(root).l2.load(new URLRequest("http://***/images/trava.png"));
Object(this).setChildIndex(l2,0);
l2.addEventListener(MouseEvent.CLICK,cl);
 
Object(root).l3.load(new URLRequest("http://***/images/trava.png"));
Object(this).setChildIndex(l3,0);
l3.addEventListener(MouseEvent.CLICK,cl);
 
function cl(e:Event){
 
	trace(Object(this).getChildIndex(e.currentTarget));
}
в данном случае setChildIndex не работает почемуто.
Хотя если на клик поставить тотже setChildIndex то индекс поменяется.
Что я упускаю?

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
А что у вас получается после выполнения данного кода? l1 лежит выше всех, под ним l2 и ниже всех l3?

Старый 21.01.2011, 13:00
SONce вне форума Посмотреть профиль Отправить личное сообщение для SONce Найти все сообщения от SONce
  № 3  
Ответить с цитированием
SONce

Регистрация: Nov 2009
Сообщений: 124
верно, l1 - индекс 2, l3-0

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Все работает правильно. Что вы ожидали увидеть?
У нас есть три, скажем, клипа. Они имеют следующие индексы.
Код:
clip_3 : 2
clip_2 : 1
clip_1 : 0
После выполнения строчки:
Код AS3:
setChildIndex(clip_3, 0);
ситуация будет следующей:
Код:
clip_2 : 2
clip_1 : 1
clip_3 : 0

Старый 21.01.2011, 13:11
SONce вне форума Посмотреть профиль Отправить личное сообщение для SONce Найти все сообщения от SONce
  № 5  
Ответить с цитированием
SONce

Регистрация: Nov 2009
Сообщений: 124
тоесть выстроить на одном уровне(индексе 0) невозможно?

Старый 21.01.2011, 13:14
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 6  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Нет. А как вы это представляете визуально?

Старый 21.01.2011, 13:16
SONce вне форума Посмотреть профиль Отправить личное сообщение для SONce Найти все сообщения от SONce
  № 7  
Ответить с цитированием
SONce

Регистрация: Nov 2009
Сообщений: 124
ну все обьекты в ряд. тоесть два обьекта не могут иметь одинаковый индекс?

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

Регистрация: Dec 2010
Адрес: Санкт-Петербург
Сообщений: 6
Цитата:
Сообщение от SONce Посмотреть сообщение
ну все обьекты в ряд. тоесть два обьекта не могут иметь одинаковый индекс?
Конечно, не могут. Сами представьте. Что бы делал флэш, если бы такие объекты (с одинаковым индексом) - наложились друг на друга? Какой рисовать выше?

Во всем нужна однозначность Т.е. сколько объектов - столько и слоев.

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Два экземпляра DisplayObject не могут иметь один и тот же индекс в списке отображения. Даже если визуально они не перекрываются, они все равно имеют различные индексы, иными словами, лежат на разных слоях.

Добавлено через 2 минуты
Цитата из хелпа:
Цитата:
Когда используется метод setChildIndex() и указывается уже занятая позиция индекса, меняются только позиции между прежней и новой позицией экранного объекта. Все остальные остаются без изменения. Если потомок перемещается на более НИЗКУЮ позицию, позиции всех потомков между этими позициями станут на 1 ВЫШЕ. Если потомок перемещается на более ВЫСОКУЮ позицию, позиции всех потомков между этими позициями станут на 1 НИЖЕ.

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

Регистрация: Feb 2007
Сообщений: 109
Отправить сообщение для DanQuimby с помощью ICQ
главное отличие этой функции 2.0 и 3.0
это в 2.0 ты мог писать индекс к примеру 0,123, 223
то в 3.0 ОБЯЗАТЕЛЬНО по мере заполненности
0,1,2,3 и тд
__________________
Ищу человечка(ов) для участия в совместных проектах
vkontakte.ru я тут

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

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

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


 


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


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