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

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

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

Регистрация: Sep 2005
Адрес: Kiev
Сообщений: 73
Отправить сообщение для Annihilator с помощью ICQ
По умолчанию непонятка с глубиной

На сцене есть вручную созданый мувиклип с именем "gui" (интерфейс с полями, кнопками и т.п.). Естественно, изначально у него глубина отрицательная (в данном случае -16381). В третьем кадре (с меткой "start")
я меняю ему глубину (_root.gui.swapDepths(20). Дальше идёт несколько кадров и в последнем я вывожу глубину этого мувика:
Код:
trace("at depth 20 - "+_root.getInstanceAtDepth(20)); //  at depth 20 - _level0.gui
trace("gui depth = "+_root.gui.getDepth()); // gui depth = 20
В первом проходе всё нормально, клип на глубине 20.
Если же далее срабатывает команда _root.gotoAndPlay("start"), то клип почему-то перемещается на старую отрицательную глубину но при этом в последнем кадре выводится:
Код:
trace("at depth 20 - "+_root.getInstanceAtDepth(20)); //  at depth 20 - _level0.gui
trace("gui depth = "+_root.gui.getDepth()); // gui depth = -16381
То есть получается, что он находится одновременно на двух глубинах, хотя визуально те клипы, что я создал програмно на глубинах 1, 3, 5 перекрывают его.
Что за парадокс? почему не меняется реальная глубина?


Последний раз редактировалось Annihilator; 15.02.2007 в 18:17.
Старый 15.02.2007, 19:19
techno вне форума Посмотреть профиль Отправить личное сообщение для techno Найти все сообщения от techno
  № 2  
Ответить с цитированием
techno
 
Аватар для techno

Регистрация: Jan 2007
Адрес: nnov
Сообщений: 163
Отправить сообщение для techno с помощью ICQ Отправить сообщение для techno с помощью AIM Отправить сообщение для techno с помощью MSN Отправить сообщение для techno с помощью Yahoo
Все просто. Когда таймлайн второй раз выходит на кадр start, создается еще один новый gui на глубине -16381. т.е. не он находится на двух глубинах, а у вас два клипа с одинаковым именем.
Естественно, получить доступ к _root.gui на глубине 20 напрямую нельзя, т.к. у вас более поздний клип имеет такое же имя.

Старый 16.02.2007, 14:14
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от techno
Все просто. Когда таймлайн второй раз выходит на кадр start, создается еще один новый gui на глубине -16381. т.е. не он находится на двух глубинах, а у вас два клипа с одинаковым именем.
Естественно, получить доступ к _root.gui на глубине 20 напрямую нельзя, т.к. у вас более поздний клип имеет такое же имя.
Приоритет на прямой доступ по имени зависит от глубины клипа (у кого меньше, тот и откликается), а не по времени создания.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Sep 2002
Сообщений: 30,787
Их два и есть. Насколько я помню (gotoAndPlay забыл уже давно), при использовании swapDepths и переходе на новый фрейм, остается копия мувика. При переходе обратно мувик, на 20-ой у тебя копия на -16381.

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

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

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


 


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


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