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

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

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

Регистрация: Nov 2010
Сообщений: 111
По умолчанию Постоянный обмен глубиной

Столкнулся с проблемой. самому смешно, никак не могу найти в help adobe...

Мне нужно, чтобы функция постоянно проверяла есть ли какой-нибудь объект выше по глубине чем объектА и если есть то ставил объектА наверх. )

В общем манипуляции с depth.

Не могу понять как получить глубину объекта... и какой самый оптимальный способ это осуществить?

Старый 18.08.2011, 22:07
Mideon вне форума Посмотреть профиль Отправить личное сообщение для Mideon Найти все сообщения от Mideon
  № 2  
Ответить с цитированием
Mideon

Регистрация: Aug 2007
Сообщений: 54
http://help.adobe.com/en_US/FlashPla...getChildIndex()

Старый 18.08.2011, 22:08
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
"Глубина, глубина, я не твой!" С. Лукьянинко.

Нет такой функции, кроме Event.EXIT_FRAME
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 18.08.2011, 22:12
Mideon вне форума Посмотреть профиль Отправить личное сообщение для Mideon Найти все сообщения от Mideon
  № 4  
Ответить с цитированием
Mideon

Регистрация: Aug 2007
Сообщений: 54
Писать самому используя то что я указал выше swapChildren и numChildren

Старый 18.08.2011, 22:20
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Не. Писать ему её самому, как я указал выше, используя то, что вы сказали выше ).
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Nov 2010
Сообщений: 111
Да, swap я нашел в справке и уже использовал в другом случае. Но пока не приходит в голову как прикрутить его сюда. Мои дети от разные потомков.

Старый 18.08.2011, 22:36
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
В общем случае

Код AS3:
const child:DisplayObject = {ваш визуальный объект};
child.addEventListener(Event.EXIT_FRAME, this.handler_exitFrame, false, int.MAX_VALUE);
 
function handler_exitFrame(event:Event):void {
    const d:DisplayObject = event.target as DisplayObject;
    d.parent.setChildIndex(this, d.parent.numChildren - 1);
}
Все это завернуть на проверку ADDED_TO_STAGE, чтобы зря не работал d.parent. Отписываться не забывать при REMOVED_FROM_STAGE.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Nov 2010
Сообщений: 111
Я нашел более простой вариант моей задачи.

Код AS3:
if (getChildByName("tower") is MovieClip) {
swapChildren(getChildByName("tower"),getChildByName("enemy"+perVrag))
}

Когда вызывается новый объект. Я проверяю есть ли табличка, которая должна быть поверх. И если она есть то меняю их местами

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
if (getChildByName("tower") is MovieClip) {
is MovieClip не нужен. Если только у Вас под этим именем не может быть TextField или еще чего.
__________________
тут я

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Код AS3:
var child:DisplayObject = getChildByName("tower");
if (child) {
   swapChildren(child, getChildByName("enemy"+perVrag));
}
__________________
freelance | Раздор

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

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

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


 


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


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